Show / Hide Table of Contents

Class CallInvoker

Abstraction of client-side RPC invocation.

Inheritance
System.Object
CallInvoker
DefaultCallInvoker
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Grpc.Core
Assembly: Grpc.Core.Api.dll
Syntax
public abstract class CallInvoker

Methods

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

Invokes a client streaming call asynchronously. In client streaming scenario, client sends a stream of requests and server responds with a single response.

Declaration
public abstract AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options)
    where TRequest : class where TResponse : class
Parameters
Type Name Description
Method<TRequest, TResponse> method
System.String host
CallOptions options
Returns
Type Description
AsyncClientStreamingCall<TRequest, TResponse>
Type Parameters
Name Description
TRequest
TResponse

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

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.

Declaration
public abstract AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options)
    where TRequest : class where TResponse : class
Parameters
Type Name Description
Method<TRequest, TResponse> method
System.String host
CallOptions options
Returns
Type Description
AsyncDuplexStreamingCall<TRequest, TResponse>
Type Parameters
Name Description
TRequest
TResponse

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

Invokes a server streaming call asynchronously. In server streaming scenario, client sends on request and server responds with a stream of responses.

Declaration
public abstract AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)
    where TRequest : class where TResponse : class
Parameters
Type Name Description
Method<TRequest, TResponse> method
System.String host
CallOptions options
TRequest request
Returns
Type Description
AsyncServerStreamingCall<TResponse>
Type Parameters
Name Description
TRequest
TResponse

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

Invokes a simple remote call asynchronously.

Declaration
public abstract AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)
    where TRequest : class where TResponse : class
Parameters
Type Name Description
Method<TRequest, TResponse> method
System.String host
CallOptions options
TRequest request
Returns
Type Description
AsyncUnaryCall<TResponse>
Type Parameters
Name Description
TRequest
TResponse

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

Invokes a simple remote call in a blocking fashion.

Declaration
public abstract TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request)
    where TRequest : class where TResponse : class
Parameters
Type Name Description
Method<TRequest, TResponse> method
System.String host
CallOptions options
TRequest request
Returns
Type Description
TResponse
Type Parameters
Name Description
TRequest
TResponse

Extension Methods

CallInvokerExtensions.Intercept(CallInvoker, Interceptor)
CallInvokerExtensions.Intercept(CallInvoker, Interceptor[])
CallInvokerExtensions.Intercept(CallInvoker, Func<Metadata, Metadata>)
Back to top