Interface ApiStreamObserver<V>
-
public interface ApiStreamObserver<V>
Receives notifications from an observable stream of messages.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 theApiStreamObserver
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
ApiStreamObserver
s do not need to be synchronized together; incoming and outgoing directions are independent. Since individualApiStreamObserver
s are not thread-safe, if multiple threads will be writing to aApiStreamObserver
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
onCompleted()
Receives a notification of successful stream completion.void
onError(java.lang.Throwable t)
Receives a terminating error from the stream.void
onNext(V value)
Receives a value from the stream.
-
-
-
Method Detail
-
onNext
void onNext(V value)
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
void onError(java.lang.Throwable t)
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.
-
-