public sealed class GcpCallInvoker : CallInvoker
Call invoker which can fan calls out to multiple underlying channels
based on request properties.
Inheritance
object >
GcpCallInvoker
Namespace
GoogleGoogle.ApiGaxGrpcGcp
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<, >
|
host | string
|
options | CallOptions
|
Returns |
---|
Type | Description |
AsyncClientStreamingCall<, > | |
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<, >
|
host | string
|
options | CallOptions
|
Returns |
---|
Type | Description |
AsyncDuplexStreamingCall<, > | |
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<, >
|
host | string
|
options | CallOptions
|
request | TRequest
|
Returns |
---|
Type | Description |
AsyncServerStreamingCall<> | |
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<, >
|
host | string
|
options | CallOptions
|
request | TRequest
|
Returns |
---|
Type | Description |
AsyncUnaryCall<> | |
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<, >
|
host | string
|
options | CallOptions
|
request | TRequest
|
Returns |
---|
Type | Description |
TResponse | |
Type Parameters |
---|
Name | Description |
TRequest | |
TResponse | |
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 | |