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
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 -
Method Summary
Modifier and TypeMethodDescriptionall()Construct aUnaryCallablethat will buffer the entire stream into memory before completing.blockingServerStreamingCall(RequestT request) Deprecated.Please use call() instead.blockingServerStreamingCall(RequestT request, ApiCallContext context) Deprecated.Please use call() instead.Conduct a iteration server streaming call.call(RequestT request, ApiCallContext context) Conduct a server streaming call with the givenApiCallContext.voidcall(RequestT request, ResponseObserver<ResponseT> responseObserver) Conduct a server streaming callabstract voidcall(RequestT request, ResponseObserver<ResponseT> responseObserver, ApiCallContext context) Conduct a server streaming call with the givenApiCallContext.first()Construct aUnaryCallablethat will yield the first item in the stream and cancel it.voidserverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver) Deprecated.Please use theResponseObservervariant instead.voidserverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context) Deprecated.Please use theResponseObservervariant instead.withDefaultCallContext(ApiCallContext defaultCallContext) Returns a newServerStreamingCallablewith anApiCallContextthat is used as a default when none is supplied in individual calls.
-
Constructor Details
-
ServerStreamingCallable
protected ServerStreamingCallable()
-
-
Method Details
-
first
Construct aUnaryCallablethat 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
Construct aUnaryCallablethat 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
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:
ServerStreamwhich is used for iterating the responses.
-
call
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:
ServerStreamwhich 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-ResponseObserverto observe the streaming responsescontext-ApiCallContextto provide context information for the RPC call.
-
call
Conduct a server streaming call- Parameters:
request- requestresponseObserver-ResponseObserverto observe the streaming responses
-
serverStreamingCall
@Deprecated public void serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context) Deprecated.Please use theResponseObservervariant instead.Conduct a server streaming call with the givenApiCallContext.- Parameters:
request- requestresponseObserver-ApiStreamObserverto observe the streaming responsescontext-ApiCallContextto provide context information for the RPC call.
-
serverStreamingCall
@Deprecated public void serverStreamingCall(RequestT request, ApiStreamObserver<ResponseT> responseObserver) Deprecated.Please use theResponseObservervariant instead.Conduct a server streaming call- Parameters:
request- requestresponseObserver-ApiStreamObserverto 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:
Iteratorwhich is used for iterating the responses.
-
blockingServerStreamingCall
Deprecated.Please use call() instead.Conduct a iteration server streaming call- Parameters:
request- request- Returns:
Iteratorwhich is used for iterating the responses.
-
withDefaultCallContext
public ServerStreamingCallable<RequestT,ResponseT> withDefaultCallContext(ApiCallContext defaultCallContext) Returns a newServerStreamingCallablewith anApiCallContextthat is used as a default when none is supplied in individual calls.- Parameters:
defaultCallContext- the defaultApiCallContext.
-