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 protectedServerStreamingCallable()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description UnaryCallable<RequestT,List<ResponseT>>all()Construct aUnaryCallablethat 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.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.UnaryCallable<RequestT,ResponseT>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.ServerStreamingCallable<RequestT,ResponseT>withDefaultCallContext(ApiCallContext defaultCallContext)Returns a newServerStreamingCallablewith anApiCallContextthat is used as a default when none is supplied in individual calls.
-
-
-
Method Detail
-
first
public UnaryCallable<RequestT,ResponseT> 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
public UnaryCallable<RequestT,List<ResponseT>> 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
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:
ServerStreamwhich 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:
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
public void call(RequestT request, ResponseObserver<ResponseT> responseObserver)
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 public Iterator<ResponseT> blockingServerStreamingCall(RequestT request)
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.
-
-