Interface ApiStreamObserver<V>
It is used for sending messages in bidi (bidirectional) or client-streaming calls, or for receiving messages in bidi or server-streaming calls.
For outgoing messages, an ApiStreamObserver is provided by GAX to the application, and
the application then provides the messages to send. For incoming messages, the application
implements the ApiStreamObserver and passes it to GAX, which then calls the observer with
the messages for the application to receive them.
Implementations are expected to be thread-compatible. Separate
ApiStreamObservers do not need to be synchronized together; incoming and outgoing
directions are independent. Since individual ApiStreamObservers are not thread-safe, if
multiple threads will be writing to a ApiStreamObserver concurrently, the application
must synchronize calls.
This interface is a fork of io.grpc.stub.StreamObserver to enable shadowing of Guava, and also to allow for a transport-agnostic interface that doesn't depend on gRPC.
-
Method Summary
Modifier and TypeMethodDescriptionvoidReceives a notification of successful stream completion.voidReceives a terminating error from the stream.voidReceives a value from the stream.
-
Method Details
-
onNext
Receives a value from the stream.Can be called many times but is never called after
onError(Throwable)oronCompleted()are called.Clients may invoke onNext at most once for server streaming calls, but may receive many onNext callbacks. Servers may invoke onNext at most once for client streaming calls, but may receive many onNext callbacks.
If an exception is thrown by an implementation the caller is expected to terminate the stream by calling
onError(Throwable)with the caught exception prior to propagating it.- Parameters:
value- the value passed to the stream
-
onError
Receives a terminating error from the stream.May only be called once and if called, it must be the last method called. In particular if an exception is thrown by an implementation of
onError, no further calls to any method are allowed.- Parameters:
t- the error occurred on the stream
-
onCompleted
void onCompleted()Receives a notification of successful stream completion.May only be called once, and if called it must be the last method called. In particular if an exception is thrown by an implementation of
onCompleted, no further calls to any method are allowed.
-