Package io.grpc
Class ForwardingServerCallListener<ReqT>
- java.lang.Object
-
- io.grpc.ServerCall.Listener<ReqT>
-
- io.grpc.ForwardingServerCallListener<ReqT>
-
- Direct Known Subclasses:
ForwardingServerCallListener.SimpleForwardingServerCallListener
public abstract class ForwardingServerCallListener<ReqT> extends ServerCall.Listener<ReqT>
AServerCall.Listener
which forwards all of its methods to anotherServerCall.Listener
of matching parameterized types.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ForwardingServerCallListener.SimpleForwardingServerCallListener<ReqT>
A simplified version ofForwardingServerCallListener
where subclasses can pass in aServerCall.Listener
as the delegate.
-
Constructor Summary
Constructors Constructor Description ForwardingServerCallListener()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract ServerCall.Listener<ReqT>
delegate()
Returns the delegatedServerCall.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 andServerCall.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 (viaServerCall.sendMessage(RespT)
) without requiring excessive buffering internally.String
toString()
-
-
-
Method Detail
-
delegate
protected abstract ServerCall.Listener<ReqT> delegate()
Returns the delegatedServerCall.Listener
.
-
onMessage
public void onMessage(ReqT message)
Description copied from class:ServerCall.Listener
A request message has been received. For streaming calls, there may be zero or more request messages.- Overrides:
onMessage
in classServerCall.Listener<ReqT>
- Parameters:
message
- a received request message.
-
onHalfClose
public void onHalfClose()
Description copied from class:ServerCall.Listener
The client completed all message sending. However, the call may still be cancelled.- Overrides:
onHalfClose
in classServerCall.Listener<ReqT>
-
onCancel
public void onCancel()
Description copied from class:ServerCall.Listener
The call was cancelled and the server is encouraged to abort processing to save resources, since the client will not process any further messages. Cancellations can be caused by timeouts, explicit cancellation by the client, network errors, etc.There will be no further callbacks for the call.
- Overrides:
onCancel
in classServerCall.Listener<ReqT>
-
onComplete
public void onComplete()
Description copied from class:ServerCall.Listener
The call is considered complete andServerCall.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.
- Overrides:
onComplete
in classServerCall.Listener<ReqT>
-
onReady
public void onReady()
Description copied from class:ServerCall.Listener
This indicates that the call may now be capable of sending additional messages (viaServerCall.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 checkingisReady()
's current value instead of assuming it is nowtrue
. IfisReady() == false
the normal expectations apply, so there would be anotheronReady()
callback.- Overrides:
onReady
in classServerCall.Listener<ReqT>
-
-