Class CallInvoker (2.48.0)

public abstract class CallInvoker : object

Abstraction of client-side RPC invocation.

Inheritance

Object > CallInvoker

Namespace

Grpc.Core

Assembly

Grpc.Core.Api.dll

Methods

AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, Nullable<String>, CallOptions)

public abstract 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.

Parameters
Name Description
method Method<TRequest, TResponse>
host Nullable<String>
options CallOptions
Returns
Type Description
AsyncClientStreamingCall<TRequest, TResponse>
Type Parameters
Name Description
TRequest
TResponse

AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, Nullable<String>, CallOptions)

public abstract 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.

Parameters
Name Description
method Method<TRequest, TResponse>
host Nullable<String>
options CallOptions
Returns
Type Description
AsyncDuplexStreamingCall<TRequest, TResponse>
Type Parameters
Name Description
TRequest
TResponse

AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse>, Nullable<String>, CallOptions, TRequest)

public abstract 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.

Parameters
Name Description
method Method<TRequest, TResponse>
host Nullable<String>
options CallOptions
request TRequest
Returns
Type Description
AsyncServerStreamingCall<TResponse>
Type Parameters
Name Description
TRequest
TResponse

AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse>, Nullable<String>, CallOptions, TRequest)

public abstract 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.

Parameters
Name Description
method Method<TRequest, TResponse>
host Nullable<String>
options CallOptions
request TRequest
Returns
Type Description
AsyncUnaryCall<TResponse>
Type Parameters
Name Description
TRequest
TResponse

BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse>, Nullable<String>, CallOptions, TRequest)

public abstract 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.

Parameters
Name Description
method Method<TRequest, TResponse>
host Nullable<String>
options CallOptions
request TRequest
Returns
Type Description
TResponse
Type Parameters
Name Description
TRequest
TResponse

Extension Methods