Package com.google.api.gax.rpc
Interface ClientStream<RequestT>
- Type Parameters:
RequestT
- The type of each request.
- All Known Implementing Classes:
BidiStream
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();
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Closes the stream.void
Closes the stream with an error.boolean
Reports whether a new request can be sent without excessive buffering.void
Sends a request to the server.
-
Method Details
-
send
Sends a request to the server. It is an error to call this if the stream is already closed. -
closeSendWithError
Closes the stream with an error. If called, this must be the last call on thisClientStream
. -
closeSend
void closeSend()Closes the stream. If called, this must be the last call on thisClientStream
.Note that if
close()
itself throws, a further call tocloseSendWithError
is not allowed. -
isSendReady
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
ifisSendReady
returns false.
-