Class BidiStreamingCallable<RequestT,ResponseT> (2.72.1)
Stay organized with collections
Save and categorize content based on your preferences.
- 2.72.1 (latest)
- 2.71.0
- 2.70.3
- 2.69.0
- 2.68.2
- 2.67.0
- 2.66.0
- 2.65.0
- 2.63.1
- 2.62.0
- 2.61.0
- 2.60.0
- 2.59.1
- 2.58.0
- 2.57.0
- 2.55.0
- 2.54.1
- 2.53.0
- 2.52.0
- 2.51.0
- 2.50.0
- 2.49.0
- 2.48.1
- 2.47.0
- 2.46.1
- 2.45.0
- 2.43.0
- 2.42.0
- 2.41.0
- 2.39.0
- 2.38.0
- 2.37.0
- 2.36.0
- 2.35.0
- 2.34.1
- 2.33.0
- 2.32.1
- 2.31.1
- 2.30.1
- 2.24.0
- 2.23.3
- 2.22.0
- 2.21.0
- 2.20.1
- 2.19.6
- 2.18.7
- 2.17.0
- 2.16.0
- 2.15.0
- 2.14.0
- 2.13.0
- 2.12.2
- 2.11.0
- 2.10.0
- 2.9.0
- 2.8.1
- 2.7.1
publicabstractclass 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.
Inherited Members
Type Parameters |
|
|---|---|
| Name | Description |
RequestT |
|
ResponseT |
|
Constructors
BidiStreamingCallable()
protectedBidiStreamingCallable()Methods
bidiStreamingCall(ApiStreamObserver<ResponseT> responseObserver) (deprecated)
publicApiStreamObserver<RequestT>bidiStreamingCall(ApiStreamObserver<ResponseT>responseObserver)Deprecated. Please use <xref uid="com.google.api.gax.rpc.BidiStreamingCallable.splitCall(com.google.api.gax.rpc.ResponseObserver<ResponseT>)" data-throw-if-not-resolved="false">#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)
publicApiStreamObserver<RequestT>bidiStreamingCall(ApiStreamObserver<ResponseT>responseObserver,ApiCallContextcontext)Deprecated. Please use <xref uid="com.google.api.gax.rpc.BidiStreamingCallable.splitCall(com.google.api.gax.rpc.ResponseObserver<ResponseT>,com.google.api.gax.rpc.ApiCallContext)" data-throw-if-not-resolved="false">#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()
publicBidiStream<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<String,String>stream=bidiStreamingCallable.call()
for(Strings:stream){
if("needle".equals(s)){
// Cancelling the stream will cause hasNext() to return false on the next iteration,
// naturally breaking the loop.
stream.cancel();
}
stream.send(s);
}
| Returns | |
|---|---|
| Type | Description |
BidiStream<RequestT,ResponseT> |
|
call(ApiCallContext context)
publicBidiStream<RequestT,ResponseT>call(ApiCallContextcontext)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)
publicvoidcall(BidiStreamObserver<RequestT,ResponseT>bidiObserver)Listens to server responses and send requests when the network is free. Example usage:
finalIterator<Integer>sourceDataIterator=intCollection.iterator();
BidiStreamObserver<Integer,String>bidiStreamObserver=newBidiStreamObserver<Integer,String>(){
publicvoidonStart(StreamControllercontroller){
// no-op
}
publicvoidonResponse(Stringresponse){
System.out.println(response);
}
publicvoidonComplete(){
System.out.println("done!");
}
publicvoidonError(Throwablet){
System.out.println("error: "+t);
}
publicvoidonReady(ClientStream<Integer>stream){
while(sourceDataIterator.hasNext()){
if(stream.isReady()){
stream.send(sourceDataIterator.next());
}else{
// It's OK we haven't consumed the whole iterator;
// onReady will be called again when the network becomes free.
return;
}
}
// We ran out of things to send.
stream.close();
}
};
bidiStreamingCallable.call(bidiStreamObserver);
| Parameter | |
|---|---|
| Name | Description |
bidiObserver |
BidiStreamObserver<RequestT,ResponseT> |
call(BidiStreamObserver<RequestT,ResponseT> bidiObserver, ApiCallContext context)
publicvoidcall(BidiStreamObserver<RequestT,ResponseT>bidiObserver,ApiCallContextcontext)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)
publicabstractClientStream<RequestT>internalCall(ResponseObserver<ResponseT>responseObserver,ClientStreamReadyObserver<RequestT>onReady,ApiCallContextcontext)The "base" method from which other forms of calls 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)
publicClientStream<RequestT>splitCall(ResponseObserver<ResponseT>responseObserver)Send requests to the server and listens to responses.
Example usage:
ResponseObserver<String>responseObserver=newResponseObserver<String>(){
publicvoidonStart(StreamControllercontroller){
// no-op
}
publicvoidonResponse(Stringresponse){
System.out.println(response);
}
publicvoidonComplete(){
System.out.println("done!");
}
publicvoidonError(Throwablet){
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)
publicClientStream<RequestT>splitCall(ResponseObserver<ResponseT>responseObserver,ApiCallContextcontext)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)
publicBidiStreamingCallable<RequestT,ResponseT>withDefaultCallContext(ApiCallContextdefaultCallContext)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> |
|