Package io.grpc

Class ForwardingClientCallListener.SimpleForwardingClientCallListener<RespT>

    • Constructor Detail

      • SimpleForwardingClientCallListener

        protected SimpleForwardingClientCallListener​(ClientCall.Listener<RespT> delegate)
    • Method Detail

      • onHeaders

        public void onHeaders​(Metadata headers)
        Description copied from class: ClientCall.Listener
        The response headers have been received. Headers always precede messages.

        Since Metadata is not thread-safe, the caller must not access (read or write) headers after this point.

        Overrides:
        onHeaders in class ClientCall.Listener<RespT>
        Parameters:
        headers - containing metadata sent by the server at the start of the response.
      • onClose

        public void onClose​(Status status,
                            Metadata trailers)
        Description copied from class: ClientCall.Listener
        The ClientCall has been closed. Any additional calls to the ClientCall will not be processed by the server. No further receiving will occur and no further notifications will be made.

        Since Metadata is not thread-safe, the caller must not access (read or write) trailers after this point.

        If status returns false for Status.isOk(), then the call failed. An additional block of trailer metadata may be received at the end of the call from the server. An empty Metadata object is passed if no trailers are received.

        This method should not throw. If this method throws, there is no way to be notified of the exception. Implementations should therefore be careful of exceptions which can accidentally leak resources.

        Overrides:
        onClose in class ClientCall.Listener<RespT>
        Parameters:
        status - the result of the remote call.
        trailers - metadata provided at call completion.
      • onReady

        public void onReady()
        Description copied from class: ClientCall.Listener
        This indicates that the ClientCall may now be capable of sending additional messages (via ClientCall.sendMessage(ReqT)) 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 ClientCall.

        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.

        If the type of a call is either MethodDescriptor.MethodType.UNARY or MethodDescriptor.MethodType.SERVER_STREAMING, this callback may not be fired. Calls that send exactly one message should not await this callback.

        Overrides:
        onReady in class ClientCall.Listener<RespT>