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.
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.
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.
public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) where TRequest : class where TResponse : class
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-05 UTC."],[[["The `GcpCallInvoker` class, which inherits from `CallInvoker`, is designed to fan out calls to multiple underlying channels based on request properties."],["The `GcpCallInvoker` has multiple versions available, with the latest being 4.10.0, and earlier versions going back to 3.2.0."],["The `GcpCallInvoker` constructor requires parameters such as `ServiceMetadata`, `target`, `ChannelCredentials`, `GrpcChannelOptions`, `ApiConfig`, and `GrpcAdapter` to initialize a new instance."],["It provides methods for various types of asynchronous calls, including `AsyncClientStreamingCall`, `AsyncDuplexStreamingCall`, `AsyncServerStreamingCall`, and `AsyncUnaryCall`, as well as `BlockingUnaryCall` for synchronous calls."],["The class features a `ShutdownAsync` method, which is recommended for cleaning up and shutting down all channels in the underlying channel pool before exiting the process."]]],[]]