Class BidiStreamingCallable<RequestT,ResponseT> (2.9.0)

  public 
  
 abstract 
  
 class 
 BidiStreamingCallable<RequestT 
 , 
 ResponseT 
> 

A BidiStreamingCallable is an immutable object which is capable of making RPC calls to bidirectional streaming API methods. Not all transports support streaming.

It is considered advanced usage for a user to create a BidiStreamingCallable 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.

Inheritance

java.lang.Object > BidiStreamingCallable<RequestT,ResponseT>

Type Parameters

Name Description
RequestT
ResponseT

Constructors

BidiStreamingCallable()

  protected 
  
 BidiStreamingCallable 
 () 
 

Methods

bidiStreamingCall(ApiStreamObserver<ResponseT> responseObserver) (deprecated)

  public 
  
 ApiStreamObserver<RequestT> 
  
 bidiStreamingCall 
 ( 
 ApiStreamObserver<ResponseT> 
  
 responseObserver 
 ) 
 

(deprecated) Please use #splitCall(ResponseObserver) instead.

Conduct a bidirectional streaming call
Parameter
Name Description
responseObserver ApiStreamObserver < ResponseT >

ApiStreamObserver to observe the streaming responses

Returns
Type Description
ApiStreamObserver < RequestT >

ApiStreamObserver which is used for making streaming requests.

bidiStreamingCall(ApiStreamObserver<ResponseT> responseObserver, ApiCallContext context) (deprecated)

  public 
  
 ApiStreamObserver<RequestT> 
  
 bidiStreamingCall 
 ( 
 ApiStreamObserver<ResponseT> 
  
 responseObserver 
 , 
  
 ApiCallContext 
  
 context 
 ) 
 

(deprecated) Please use #splitCall(ResponseObserver, ApiCallContext) instead.

Conduct a bidirectional streaming call with the given ApiCallContext .
Parameters
Name Description
responseObserver ApiStreamObserver < ResponseT >

ApiStreamObserver to observe the streaming responses

context ApiCallContext

ApiCallContext to provide context information for the RPC call.

Returns
Type Description
ApiStreamObserver < RequestT >

ApiStreamObserver which is used for making streaming requests.

call()

  public 
  
 BidiStream<RequestT 
 , 
 ResponseT 
>  
 call 
 () 
 

Send requests and iterate over server responses.

This returns a live stream that must either be fully consumed or cancelled. Example usage:

   
 BidiStream 
 
Returns
Type Description
BidiStream < RequestT , ResponseT >

call(ApiCallContext context)

  public 
  
 BidiStream<RequestT 
 , 
 ResponseT 
>  
 call 
 ( 
 ApiCallContext 
  
 context 
 ) 
 

Send requests and iterate over server responses.

This returns a live stream that must either be fully consumed or cancelled.

Parameter
Name Description
context ApiCallContext
Returns
Type Description
BidiStream < RequestT , ResponseT >

call(BidiStreamObserver<RequestT,ResponseT> bidiObserver)

  public 
  
 void 
  
 call 
 ( 
 BidiStreamObserver<RequestT 
 , 
 ResponseT 
>  
 bidiObserver 
 ) 
 

Listens to server responses and send requests when the network is free. Example usage:

   
 final 
  
 Iterator<Integer> 
  
 sourceDataIterator 
  
 = 
  
 intCollection 
 . 
 iterator 
 (); 
  
 BidiStreamObserver 
 
Parameter
Name Description
bidiObserver BidiStreamObserver < RequestT , ResponseT >

call(BidiStreamObserver<RequestT,ResponseT> bidiObserver, ApiCallContext context)

  public 
  
 void 
  
 call 
 ( 
 BidiStreamObserver<RequestT 
 , 
 ResponseT 
>  
 bidiObserver 
 , 
  
 ApiCallContext 
  
 context 
 ) 
 

Listens to server responses and send requests when the network is free.

Parameters
Name Description
bidiObserver BidiStreamObserver < RequestT , ResponseT >
context ApiCallContext

internalCall(ResponseObserver<ResponseT> responseObserver, ClientStreamReadyObserver<RequestT> onReady, ApiCallContext context)

  public 
  
 abstract 
  
 ClientStream<RequestT> 
  
 internalCall 
 ( 
 ResponseObserver<ResponseT> 
  
 responseObserver 
 , 
  
 ClientStreamReadyObserver<RequestT> 
  
 onReady 
 , 
  
 ApiCallContext 
  
 context 
 ) 
 

The "base" method from which other forms of call s are derived. Most users will not need to call this method directly.

However, it is public , since library authors might want to call this method in adaptor classes.

Parameters
Name Description
responseObserver ResponseObserver < ResponseT >
onReady ClientStreamReadyObserver < RequestT >
context ApiCallContext
Returns
Type Description
ClientStream < RequestT >

splitCall(ResponseObserver<ResponseT> responseObserver)

  public 
  
 ClientStream<RequestT> 
  
 splitCall 
 ( 
 ResponseObserver<ResponseT> 
  
 responseObserver 
 ) 
 

Send requests to the server and listens to responses.

Example usage:

   
 ResponseObserver<String> 
  
 responseObserver 
  
 = 
  
 new 
  
 ResponseObserver<String> 
 () 
  
 { 
  
 public 
  
 void 
  
 onStart 
 ( 
 StreamController 
  
 controller 
 ) 
  
 { 
  
 // no-op 
  
 } 
  
 public 
  
 void 
  
 onResponse 
 ( 
 String 
  
 response 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 response 
 ); 
  
 } 
  
 public 
  
 void 
  
 onComplete 
 () 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "done!" 
 ); 
  
 } 
  
 public 
  
 void 
  
 onError 
 ( 
 Throwable 
  
 t 
 ) 
  
 { 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "error: " 
  
 + 
  
 t 
 ); 
  
 } 
  
 }; 
  
 ClientStream<Integer> 
  
 clientStream 
  
 = 
  
 bidiStreamingCallable 
 . 
 splitCall 
 ( 
 responseObserver 
 ); 
  
 clientStream 
 . 
 send 
 ( 
 42 
 ); 
  
 clientStream 
 . 
 send 
 ( 
 43 
 ); 
  
 clientStream 
 . 
 close 
 (); 
  
 
Parameter
Name Description
responseObserver ResponseObserver < ResponseT >
Returns
Type Description
ClientStream < RequestT >

splitCall(ResponseObserver<ResponseT> responseObserver, ApiCallContext context)

  public 
  
 ClientStream<RequestT> 
  
 splitCall 
 ( 
 ResponseObserver<ResponseT> 
  
 responseObserver 
 , 
  
 ApiCallContext 
  
 context 
 ) 
 

Send requests to the server and listens to responses.

Parameters
Name Description
responseObserver ResponseObserver < ResponseT >
context ApiCallContext
Returns
Type Description
ClientStream < RequestT >

withDefaultCallContext(ApiCallContext defaultCallContext)

  public 
  
 BidiStreamingCallable<RequestT 
 , 
 ResponseT 
>  
 withDefaultCallContext 
 ( 
 ApiCallContext 
  
 defaultCallContext 
 ) 
 

Returns a new BidiStreamingCallable with an ApiCallContext that is used as a default when none is supplied in individual calls.

Parameter
Name Description
defaultCallContext ApiCallContext

the default ApiCallContext .

Returns
Type Description
BidiStreamingCallable < RequestT , ResponseT >
Design a Mobile Site
View Site in Mobile | Classic
Share by: