public abstract static class HttpJsonClientCall.Listener<T>
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.
Type Parameter | |
---|---|
Name | Description |
T |
Constructors
Listener()
public Listener()
Methods
onClose(int statusCode, HttpJsonMetadata trailers)
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 | |
---|---|
Name | Description |
statusCode | int the HTTP status code representing the result of the remote call |
trailers | HttpJsonMetadata metadata provided at call completion |
onHeaders(HttpJsonMetadata responseHeaders)
public void onHeaders(HttpJsonMetadata responseHeaders)
The response headers have been received. Headers always precede messages.
Parameter | |
---|---|
Name | Description |
responseHeaders | HttpJsonMetadata containing metadata sent by the server at the start of the response |
onMessage(T message)
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.
Parameter | |
---|---|
Name | Description |
message | T returned by the server |