Package com.google.api.gax.rpc
Class ServerStreamingCallable<RequestT,ResponseT>
- java.lang.Object
-
- com.google.api.gax.rpc.ServerStreamingCallable<RequestT,ResponseT>
-
- Direct Known Subclasses:
TracedServerStreamingCallable
public abstract class ServerStreamingCallable<RequestT,ResponseT> extends Object
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.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ServerStreamingCallable()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description UnaryCallable<RequestT,List<ResponseT>>
all()
Construct aUnaryCallable
that will buffer the entire stream into memory before completing.Iterator<ResponseT>
blockingServerStreamingCall(RequestT request)
Deprecated.Please use call() instead.Iterator<ResponseT>
blockingServerStreamingCall(RequestT request, ApiCallContext context)
Deprecated.Please use call() instead.ServerStream<ResponseT>
call(RequestT request)
Conduct a iteration server streaming call.ServerStream<ResponseT>
call(RequestT request, ApiCallContext context)
Conduct a server streaming call with the givenApiCallContext
.void
call(RequestT request, ResponseObserver<ResponseT> responseObserver)
Conduct a server streaming callabstract void
call(RequestT request, ResponseObserver<ResponseT> responseObserver, ApiCallContext context)
Conduct a server streaming call with the givenApiCallContext
.UnaryCallable<RequestT,ResponseT>
first()
Construct aUnaryCallable
that will yield the first item in the stream and cancel it.void
serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver)
Deprecated.Please use theResponseObserver
variant instead.void
serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context)
Deprecated.Please use theResponseObserver
variant instead.ServerStreamingCallable<RequestT,ResponseT>
withDefaultCallContext(ApiCallContext defaultCallContext)
Returns a newServerStreamingCallable
with anApiCallContext
that is used as a default when none is supplied in individual calls.
-
-
-
Method Detail
-
first
public UnaryCallable<RequestT,ResponseT> first()
Construct aUnaryCallable
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:
- The
UnaryCallable
.
-
all
public UnaryCallable<RequestT,List<ResponseT>> all()
Construct aUnaryCallable
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:
- The
UnaryCallable
.
-
call
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);
- Parameters:
request
- request- Returns:
ServerStream
which is used for iterating the responses.
-
call
public ServerStream<ResponseT> call(RequestT request, ApiCallContext context)
Conduct a server streaming call with the givenApiCallContext
.This returns a live stream that must either be fully consumed or cancelled.
- Parameters:
request
- requestcontext
- the context- Returns:
ServerStream
which is used for iterating the responses.
-
call
public abstract void call(RequestT request, ResponseObserver<ResponseT> responseObserver, ApiCallContext context)
Conduct a server streaming call with the givenApiCallContext
.- Parameters:
request
- requestresponseObserver
-ResponseObserver
to observe the streaming responsescontext
-ApiCallContext
to provide context information for the RPC call.
-
call
public void call(RequestT request, ResponseObserver<ResponseT> responseObserver)
Conduct a server streaming call- Parameters:
request
- requestresponseObserver
-ResponseObserver
to observe the streaming responses
-
serverStreamingCall
@Deprecated public void serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context)
Deprecated.Please use theResponseObserver
variant instead.Conduct a server streaming call with the givenApiCallContext
.- Parameters:
request
- requestresponseObserver
-ApiStreamObserver
to observe the streaming responsescontext
-ApiCallContext
to provide context information for the RPC call.
-
serverStreamingCall
@Deprecated public void serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver)
Deprecated.Please use theResponseObserver
variant instead.Conduct a server streaming call- Parameters:
request
- requestresponseObserver
-ApiStreamObserver
to observe the streaming responses
-
blockingServerStreamingCall
@Deprecated public Iterator<ResponseT> blockingServerStreamingCall(RequestT request, ApiCallContext context)
Deprecated.Please use call() instead.Conduct an iteration server streaming call- Parameters:
request
- requestcontext
- context- Returns:
Iterator
which is used for iterating the responses.
-
blockingServerStreamingCall
@Deprecated public Iterator<ResponseT> blockingServerStreamingCall(RequestT request)
Deprecated.Please use call() instead.Conduct a iteration server streaming call- Parameters:
request
- request- Returns:
Iterator
which is used for iterating the responses.
-
withDefaultCallContext
public ServerStreamingCallable<RequestT,ResponseT> withDefaultCallContext(ApiCallContext defaultCallContext)
Returns a newServerStreamingCallable
with anApiCallContext
that is used as a default when none is supplied in individual calls.- Parameters:
defaultCallContext
- the defaultApiCallContext
.
-
-