public class BeamFnDataInboundObserver<T> extends java.lang.Object implements java.util.function.Consumer<org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements.Data>, InboundDataClient
BeamFnApi.Elements.Data
with the provided Coder
passing the individual decoded elements to the provided consumer.Constructor and Description |
---|
BeamFnDataInboundObserver(Coder<T> coder,
FnDataReceiver<T> consumer,
InboundDataClient readFuture) |
Modifier and Type | Method and Description |
---|---|
void |
accept(org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements.Data t) |
void |
awaitCompletion()
Block until the client has completed reading from the inbound stream.
|
void |
cancel()
Cancels the client, causing it to drop any future inbound data.
|
void |
complete()
Mark the client as completed.
|
void |
fail(java.lang.Throwable t)
Mark the client as completed with an exception.
|
static <T> BeamFnDataInboundObserver<T> |
forConsumer(Coder<T> coder,
FnDataReceiver<T> receiver) |
boolean |
isDone()
Returns true if the client is done, either via completing successfully or by being cancelled.
|
public BeamFnDataInboundObserver(Coder<T> coder, FnDataReceiver<T> consumer, InboundDataClient readFuture)
public static <T> BeamFnDataInboundObserver<T> forConsumer(Coder<T> coder, FnDataReceiver<T> receiver)
public void accept(org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements.Data t)
accept
in interface java.util.function.Consumer<org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements.Data>
public void awaitCompletion() throws java.lang.Exception
InboundDataClient
awaitCompletion
in interface InboundDataClient
java.lang.InterruptedException
- if the client is interrupted before completing.java.util.concurrent.CancellationException
- if the client is cancelled before completing.java.lang.Exception
- if the client throws an exception while awaiting completion.public boolean isDone()
InboundDataClient
isDone
in interface InboundDataClient
public void cancel()
InboundDataClient
cancel
in interface InboundDataClient
public void complete()
InboundDataClient
complete
in interface InboundDataClient
public void fail(java.lang.Throwable t)
InboundDataClient
fail
in interface InboundDataClient
t
- the throwable that caused this client to fail