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-04-17 UTC."],[[["This document describes the `GcpCallInvoker` class, which is a call invoker capable of distributing calls across multiple underlying channels based on request properties, and is currently at version 4.8.0, although the latest version is 4.10.0."],["`GcpCallInvoker` inherits from `CallInvoker` and provides functionalities for invoking various types of remote calls, including client streaming, duplex streaming, server streaming, and both asynchronous and blocking unary calls."],["The `GcpCallInvoker` constructor initializes a new instance with parameters such as `ServiceMetadata`, `target`, `ChannelCredentials`, `GrpcChannelOptions`, `ApiConfig`, and `GrpcAdapter`, all of which are required and must not be null."],["The `ShutdownAsync` method is used to cleanly shut down all channels within the underlying channel pool, and it is recommended to use it before the process exits."],["The document lists various versions of the api, starting from version 3.2.0 up to the latest, 4.10.0, and provides links to navigate to the docs of each version."]]],[]]