Class HttpJsonClientCall.Listener<T>

  • Direct Known Subclasses:
    ForwardingHttpJsonClientCallListener
    Enclosing class:
    HttpJsonClientCall<RequestT,​ResponseT>

    @BetaApi
    public abstract static class HttpJsonClientCall.Listener<T>
    extends java.lang.Object
    Callbacks for receiving metadata, response messages and completion status from the server.

    Implementations are discouraged to block for extended periods of time. Implementations are not required to be thread-safe, but they must not be thread-hostile. The caller is free to call an instance from multiple threads, but only one call simultaneously.

    • Constructor Summary

      Constructors 
      Constructor Description
      Listener()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void onClose​(int statusCode, HttpJsonMetadata trailers)
      The ClientCall has been closed.
      void onHeaders​(HttpJsonMetadata responseHeaders)
      The response headers have been received.
      void onMessage​(T message)
      A response message has been received.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Listener

        public Listener()
    • Method Detail

      • onHeaders

        public void onHeaders​(HttpJsonMetadata responseHeaders)
        The response headers have been received. Headers always precede messages.
        Parameters:
        responseHeaders - containing metadata sent by the server at the start of the response
      • onMessage

        public void onMessage​(T message)
        A response message has been received. May be called zero or more times depending on whether the call response is empty, a single message or a stream of messages.
        Parameters:
        message - returned by the server
      • onClose

        public void onClose​(int statusCode,
                            HttpJsonMetadata trailers)
        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.

        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.

        Parameters:
        statusCode - the HTTP status code representing the result of the remote call
        trailers - metadata provided at call completion