public sealed class GcpCallInvoker : CallInvoker
Call invoker which can fan calls out to multiple underlying channels
based on request properties.
Inheritance
Object >
GcpCallInvoker
Namespace
Google.Api.Gax.Grpc.Gcp
Assembly
Google.Api.Gax.Grpc.dll
Constructors
public GcpCallInvoker(ServiceMetadata serviceMetadata, string target, ChannelCredentials credentials, GrpcChannelOptions options, ApiConfig apiConfig, GrpcAdapter adapter)
Initializes a new instance.
Parameters |
---|
Name | Description |
serviceMetadata | ServiceMetadata
The metadata for the service that this call invoker will be used with. Must not be null.
|
target | String
Target of the underlying grpc channels. Must not be null.
|
credentials | ChannelCredentials
Credentials to secure the underlying grpc channels. Must not be null.
|
options | GrpcChannelOptions
Channel options to be used by the underlying grpc channels. Must not be null.
|
apiConfig | ApiConfig
The API config to apply. Must not be null.
|
adapter | GrpcAdapter
The adapter to use to create channels. Must not be null.
|
Methods
AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions)
public override AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options)
Invokes a client streaming call asynchronously.
In client streaming scenario, client sends a stream of requests and server responds with a single response.
Parameters |
---|
Name | Description |
method | Method<TRequest, TResponse>
|
host | String
|
options | CallOptions
|
Returns |
---|
Type | Description |
AsyncClientStreamingCall<TRequest, TResponse> | |
Type Parameters |
---|
Name | Description |
TRequest | |
TResponse | |
AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions)
public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options)
Invokes a duplex streaming call asynchronously.
In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses.
The response stream is completely independent and both side can be sending messages at the same time.
Parameters |
---|
Name | Description |
method | Method<TRequest, TResponse>
|
host | String
|
options | CallOptions
|
Returns |
---|
Type | Description |
AsyncDuplexStreamingCall<TRequest, TResponse> | |
Type Parameters |
---|
Name | Description |
TRequest | |
TResponse | |
AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions, TRequest)
public override AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)
Invokes a server streaming call asynchronously.
In server streaming scenario, client sends on request and server responds with a stream of responses.
Parameters |
---|
Name | Description |
method | Method<TRequest, TResponse>
|
host | String
|
options | CallOptions
|
request | TRequest
|
Returns |
---|
Type | Description |
AsyncServerStreamingCall<TResponse> | |
Type Parameters |
---|
Name | Description |
TRequest | |
TResponse | |
AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions, TRequest)
public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)
Invokes a simple remote call asynchronously.
Parameters |
---|
Name | Description |
method | Method<TRequest, TResponse>
|
host | String
|
options | CallOptions
|
request | TRequest
|
Returns |
---|
Type | Description |
AsyncUnaryCall<TResponse> | |
Type Parameters |
---|
Name | Description |
TRequest | |
TResponse | |
BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse>, String, CallOptions, TRequest)
public override TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)
Invokes a simple remote call in a blocking fashion.
Parameters |
---|
Name | Description |
method | Method<TRequest, TResponse>
|
host | String
|
options | CallOptions
|
request | TRequest
|
Returns |
---|
Type | Description |
TResponse | |
Type Parameters |
---|
Name | Description |
TRequest | |
TResponse | |
ShutdownAsync()
public async Task ShutdownAsync()
Shuts down the all channels in the underlying channel pool cleanly. It is strongly
recommended to shutdown all previously created channels before exiting from the process.
Returns |
---|
Type | Description |
Task | |