public sealed class GcpCallInvoker : CallInvoker
Call invoker which can fan calls out to multiple underlying channels
based on request properties.
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) where TRequest : class where TResponse : class
Invokes a client streaming call asynchronously.
In client streaming scenario, client sends a stream of requests and server responds with a single response.
Type Parameters |
Name |
Description |
TRequest |
|
TResponse |
|
Overrides
AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, string, CallOptions)
public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) where TRequest : class where TResponse : class
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.
Type Parameters |
Name |
Description |
TRequest |
|
TResponse |
|
Overrides
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) where TRequest : class where TResponse : class
Invokes a server streaming call asynchronously.
In server streaming scenario, client sends on request and server responds with a stream of responses.
Type Parameters |
Name |
Description |
TRequest |
|
TResponse |
|
Overrides
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) where TRequest : class where TResponse : class
Invokes a simple remote call asynchronously.
Type Parameters |
Name |
Description |
TRequest |
|
TResponse |
|
Overrides
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) where TRequest : class where TResponse : class
Invokes a simple remote call in a blocking fashion.
Returns |
Type |
Description |
TResponse |
|
Type Parameters |
Name |
Description |
TRequest |
|
TResponse |
|
Overrides
ShutdownAsync()
public 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 |
|