public abstract class ForwardingServerCallListener<ReqT> extends ServerCall.Listener<ReqT>
ServerCall.Listener
which forwards all of its methods to another ServerCall.Listener
of matching parameterized types.Modifier and Type | Class and Description |
---|---|
static class |
ForwardingServerCallListener.SimpleForwardingServerCallListener<ReqT>
A simplified version of
ForwardingServerCallListener where subclasses can pass in a
ServerCall.Listener as the delegate. |
Constructor and Description |
---|
ForwardingServerCallListener() |
Modifier and Type | Method and Description |
---|---|
protected abstract ServerCall.Listener<ReqT> |
delegate()
Returns the delegated
ServerCall.Listener . |
void |
onCancel()
The call was cancelled and the server is encouraged to abort processing to save resources,
since the client will not process any further messages.
|
void |
onComplete()
The call is considered complete and
ServerCall.Listener.onCancel() is guaranteed not to be called. |
void |
onHalfClose()
The client completed all message sending.
|
void |
onMessage(ReqT message)
A request message has been received.
|
void |
onReady()
This indicates that the call may now be capable of sending additional messages (via
ServerCall.sendMessage(RespT) ) without requiring excessive buffering internally. |
String |
toString() |
protected abstract ServerCall.Listener<ReqT> delegate()
ServerCall.Listener
.public void onMessage(ReqT message)
ServerCall.Listener
onMessage
in class ServerCall.Listener<ReqT>
message
- a received request message.public void onHalfClose()
ServerCall.Listener
onHalfClose
in class ServerCall.Listener<ReqT>
public void onCancel()
ServerCall.Listener
There will be no further callbacks for the call.
onCancel
in class ServerCall.Listener<ReqT>
public void onComplete()
ServerCall.Listener
ServerCall.Listener.onCancel()
is guaranteed not to be called.
However, the client is not guaranteed to have received all messages.
There will be no further callbacks for the call.
onComplete
in class ServerCall.Listener<ReqT>
public void onReady()
ServerCall.Listener
ServerCall.sendMessage(RespT)
) without requiring excessive buffering internally. This event is
just a suggestion and the application is free to ignore it, however doing so may
result in excessive buffering within the call.
Because there is a processing delay to deliver this notification, it is possible for
concurrent writes to cause isReady() == false
within this callback. Handle "spurious"
notifications by checking isReady()
's current value instead of assuming it is now
true
. If isReady() == false
the normal expectations apply, so there would be
another onReady()
callback.
onReady
in class ServerCall.Listener<ReqT>