public interface ClientStream<RequestT>A wrapper used to send requests to the server.
After sending requests, users must either call #closeSend() or #closeSendWithError(Throwable) on the stream. The error, if any, will be propagated to the server.
Example usage:
ClientStream<String> stream = ...;
List<String> lines = getLinesFromFile();
for (String line : lines) {
stream.send(line);
}
stream.closeSend();
Type Parameter |
|
|---|---|
| Name | Description |
RequestT |
|
Methods
closeSend()
public abstract void closeSend()Closes the stream. If called, this must be the last call on this ClientStream.
Note that if close() itself throws, a further call to closeSendWithError is
not allowed.
closeSendWithError(Throwable t)
public abstract void closeSendWithError(Throwable t)Closes the stream with an error. If called, this must be the last call on this
ClientStream.
| Parameter | |
|---|---|
| Name | Description |
t |
Throwable |
isSendReady()
public abstract boolean isSendReady()Reports whether a new request can be sent without excessive buffering.
This is only an optimization hint to the user. It is correct, if suboptimal, to call
send if isSendReady returns false.
| Returns | |
|---|---|
| Type | Description |
boolean |
|
send(RequestT request)
public abstract void send(RequestT request)Sends a request to the server. It is an error to call this if the stream is already closed.
| Parameter | |
|---|---|
| Name | Description |
request |
RequestT |