Class HttpJsonClientCall.Listener<T>

java.lang.Object
com.google.api.gax.httpjson.HttpJsonClientCall.Listener<T>
Direct Known Subclasses:
ForwardingHttpJsonClientCallListener
Enclosing class:
HttpJsonClientCall<RequestT,ResponseT>

public abstract static class HttpJsonClientCall.Listener<T> extends 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 Details

    • Listener

      public Listener()
  • Method Details

    • 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