public abstract class ServerStreamingCallable<RequestT,ResponseT>A ServerStreamingCallable is an immutable object which is capable of making RPC calls to server streaming API methods. Not all transports support streaming.
It is considered advanced usage for a user to create a ServerStreamingCallable themselves. This class is intended to be created by a generated client class, and configured by instances of StreamingCallSettings.Builder which are exposed through the client settings class.
Type Parameters |
|
|---|---|
| Name | Description |
RequestT |
|
ResponseT |
|
Constructors
ServerStreamingCallable()
protected ServerStreamingCallable()Methods
all()
public UnaryCallable<RequestT,List<ResponseT>> all()Construct a UnaryCallable that will buffer the entire stream into memory before completing. If the stream is empty, then the list will be empty.
Example usage:
StreamingCallable<String> streamingCallable = // ..
List<String> theResult = streamingCallable.all().call(request);
ApiFuture<List<String>> theResult = streamingCallable.all().futureCall(request);
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<RequestT,List<ResponseT>> |
The UnaryCallable. |
blockingServerStreamingCall(RequestT request) (deprecated)
public Iterator<ResponseT> blockingServerStreamingCall(RequestT request)Deprecated. Please use call() instead.
Conduct a iteration server streaming call
| Parameter | |
|---|---|
| Name | Description |
request |
RequestTrequest |
| Returns | |
|---|---|
| Type | Description |
Iterator<ResponseT> |
Iterator which is used for iterating the responses. |
blockingServerStreamingCall(RequestT request, ApiCallContext context) (deprecated)
public Iterator<ResponseT> blockingServerStreamingCall(RequestT request, ApiCallContext context)Deprecated. Please use call() instead.
Conduct an iteration server streaming call
| Parameters | |
|---|---|
| Name | Description |
request |
RequestTrequest |
context |
ApiCallContextcontext |
| Returns | |
|---|---|
| Type | Description |
Iterator<ResponseT> |
Iterator which is used for iterating the responses. |
call(RequestT request)
public ServerStream<ResponseT> call(RequestT request)Conduct a iteration server streaming call.
This returns a live stream that must either be fully consumed or cancelled. Example usage:
StreamingCallable<String> streamingCallable = // ..
ServerStream stream = streamingCallable.call(request)
for (String s : stream) {
if ("needle".equals(s)) {
// Cancelling the stream will cause hasNext() to return false on the next iteration,
// naturally breaking the loop.
stream.cancel();
}
}
List<String> theResult = streamingCallable.all().call(request);
ApiFuture<List<String>> theResult = streamingCallable.all().futureCall(request);
| Parameter | |
|---|---|
| Name | Description |
request |
RequestTrequest |
| Returns | |
|---|---|
| Type | Description |
ServerStream<ResponseT> |
ServerStream which is used for iterating the responses. |
call(RequestT request, ApiCallContext context)
public ServerStream<ResponseT> call(RequestT request, ApiCallContext context)Conduct a server streaming call with the given ApiCallContext.
This returns a live stream that must either be fully consumed or cancelled.
| Parameters | |
|---|---|
| Name | Description |
request |
RequestTrequest |
context |
ApiCallContextthe context |
| Returns | |
|---|---|
| Type | Description |
ServerStream<ResponseT> |
ServerStream which is used for iterating the responses. |
call(RequestT request, ResponseObserver<ResponseT> responseObserver)
public void call(RequestT request, ResponseObserver<ResponseT> responseObserver)Conduct a server streaming call
| Parameters | |
|---|---|
| Name | Description |
request |
RequestTrequest |
responseObserver |
ResponseObserver<ResponseT>ResponseObserver to observe the streaming responses |
call(RequestT request, ResponseObserver<ResponseT> responseObserver, ApiCallContext context)
public abstract void call(RequestT request, ResponseObserver<ResponseT> responseObserver, ApiCallContext context)Conduct a server streaming call with the given ApiCallContext.
| Parameters | |
|---|---|
| Name | Description |
request |
RequestTrequest |
responseObserver |
ResponseObserver<ResponseT>ResponseObserver to observe the streaming responses |
context |
ApiCallContextApiCallContext to provide context information for the RPC call. |
first()
public UnaryCallable<RequestT,ResponseT> first()Construct a UnaryCallable that will yield the first item in the stream and cancel it. If the stream is empty, the item will be null.
Example usage:
StreamingCallable<String> streamingCallable = // ..
String theResult = streamingCallable.first().call(request);
ApiFuture<String> theResult = streamingCallable.first().futureCall(request);
| Returns | |
|---|---|
| Type | Description |
UnaryCallable<RequestT,ResponseT> |
The UnaryCallable. |
serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver) (deprecated)
public void serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver)Deprecated. Please use the ResponseObserver variant instead.
Conduct a server streaming call
| Parameters | |
|---|---|
| Name | Description |
request |
RequestTrequest |
responseObserver |
ApiStreamObserver<ResponseT>ApiStreamObserver to observe the streaming responses |
serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context) (deprecated)
public void serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context)Deprecated. Please use the ResponseObserver variant instead.
Conduct a server streaming call with the given ApiCallContext.
| Parameters | |
|---|---|
| Name | Description |
request |
RequestTrequest |
responseObserver |
ApiStreamObserver<ResponseT>ApiStreamObserver to observe the streaming responses |
context |
ApiCallContextApiCallContext to provide context information for the RPC call. |
withDefaultCallContext(ApiCallContext defaultCallContext)
public ServerStreamingCallable<RequestT,ResponseT> withDefaultCallContext(ApiCallContext defaultCallContext)Returns a new ServerStreamingCallable with an ApiCallContext that is used as a
default when none is supplied in individual calls.
| Parameter | |
|---|---|
| Name | Description |
defaultCallContext |
ApiCallContextthe default ApiCallContext. |
| Returns | |
|---|---|
| Type | Description |
ServerStreamingCallable<RequestT,ResponseT> |
|