public abstract class ForwardingHttpJsonClientCall<RequestT,ResponseT> extends HttpJsonClientCall<RequestT,ResponseT>
A HttpJsonClientCall which forwards all of its methods to another HttpJsonClientCall.
Inheritance
java.lang.Object > HttpJsonClientCall > ForwardingHttpJsonClientCall<RequestT,ResponseT>Type Parameters
Name | Description |
RequestT | |
ResponseT |
Constructors
ForwardingHttpJsonClientCall()
public ForwardingHttpJsonClientCall()
Methods
cancel(String message, Throwable cause)
public void cancel(String message, Throwable cause)
Prevent any further processing for this HttpJsonClientCall
. No further messages may be
sent or will be received. The server is not informed of cancellations. Cancellation is
permitted even if previously #halfClosed. Cancelling an already cancel()
ed
ClientCall
has no effect.
No other methods on this class can be called after this method has been called.
Name | Description |
message | String |
cause | Throwable |
delegate()
protected abstract HttpJsonClientCall<RequestT,ResponseT> delegate()
Type | Description |
HttpJsonClientCall<RequestT,ResponseT> |
halfClose()
public void halfClose()
Close the call for request message sending. Incoming response messages are unaffected. This should be called when no more messages will be sent from the client.
request(int numMessages)
public void request(int numMessages)
Requests up to the given number of messages from the call to be delivered to HttpJsonClientCall.Listener#onMessage(Object). No additional messages will be delivered.
Message delivery is guaranteed to be sequential in the order received. In addition, the listener methods will not be accessed concurrently. While it is not guaranteed that the same thread will always be used, it is guaranteed that only a single thread will access the listener at a time.
If called multiple times, the number of messages able to delivered will be the sum of the calls.
This method is safe to call from multiple threads without external synchronization.
Name | Description |
numMessages | int |
sendMessage(RequestT message)
public void sendMessage(RequestT message)
Send a request message to the server. May be called zero or more times but for unary and server streaming calls it must be called not more than once.
Name | Description |
message | RequestT |
start(HttpJsonClientCall.Listener<ResponseT> responseListener, HttpJsonMetadata requestHeaders)
public void start(HttpJsonClientCall.Listener<ResponseT> responseListener, HttpJsonMetadata requestHeaders)
Start a call, using responseListener
for processing response messages.
It must be called prior to any other method on this class, except for #cancel which may be called at any time.
Name | Description |
responseListener | Listener<ResponseT> |
requestHeaders | HttpJsonMetadata |