Class ClientHelper (4.4.0)

public class ClientHelper

Common helper code shared by clients.

Inheritance

object > ClientHelper

Namespace

Google.Api.Gax.Grpc

Assembly

Google.Api.Gax.Grpc.dll

Constructors

ClientHelper(ServiceSettingsBase, ILogger)

public ClientHelper(ServiceSettingsBase settings, ILogger logger)

Constructs a helper from the given settings. Behavior is undefined if settings are changed after construction.

Parameters
NameDescription
settingsServiceSettingsBase

The service settings.

loggerILogger

The logger to use for API calls

Properties

Clock

public IClock Clock { get; }

The clock used for timing of retries and deadlines. This is never null; if the clock isn't specified in the settings, this property will return the SystemClock instance.

Property Value
TypeDescription
IClock

Logger

public ILogger Logger { get; }

The logger used by this instance, or null if it does not perform logging.

Property Value
TypeDescription
ILogger

Scheduler

public IScheduler Scheduler { get; }

The scheduler used for delays of retries. This is never null; if the scheduler isn't specified in the settings, this property will return the SystemScheduler instance.

Property Value
TypeDescription
IScheduler

Methods

BuildApiCall<TRequest, TResponse>(string, Func<TRequest, CallOptions, AsyncServerStreamingCall<TResponse>>, CallSettings)

public ApiServerStreamingCall<TRequest, TResponse> BuildApiCall<TRequest, TResponse>(string methodName, Func<TRequest, CallOptions, AsyncServerStreamingCall<TResponse>> grpcCall, CallSettings perMethodCallSettings) where TRequest : class, IMessage<TRequest> where TResponse : class, IMessage<TResponse>

Builds an ApiServerStreamingCall given a suitable underlying server streaming call.

Parameters
NameDescription
methodNamestring

The underlying method name, for diagnostic purposes.

grpcCallFuncCallOptionsAsyncServerStreamingCall

The underlying gRPC server streaming call.

perMethodCallSettingsCallSettings

The default method call settings.

Returns
TypeDescription
ApiServerStreamingCall

An API call to proxy to the RPC calls

Type Parameters
NameDescription
TRequest

Request type, which must be a protobuf message.

TResponse

Response type, which must be a protobuf message.

BuildApiCall<TRequest, TResponse>(string, Func<TRequest, CallOptions, AsyncUnaryCall<TResponse>>, Func<TRequest, CallOptions, TResponse>, CallSettings)

public ApiCall<TRequest, TResponse> BuildApiCall<TRequest, TResponse>(string methodName, Func<TRequest, CallOptions, AsyncUnaryCall<TResponse>> asyncGrpcCall, Func<TRequest, CallOptions, TResponse> syncGrpcCall, CallSettings perMethodCallSettings) where TRequest : class, IMessage<TRequest> where TResponse : class, IMessage<TResponse>

Builds an ApiCall given suitable underlying async and sync calls.

Parameters
NameDescription
methodNamestring

The underlying method name, for diagnostic purposes.

asyncGrpcCallFuncCallOptionsAsyncUnaryCall

The underlying synchronous gRPC call.

syncGrpcCallFuncCallOptions

The underlying asynchronous gRPC call.

perMethodCallSettingsCallSettings

The default method call settings.

Returns
TypeDescription
ApiCall

An API call to proxy to the RPC calls

Type Parameters
NameDescription
TRequest

Request type, which must be a protobuf message.

TResponse

Response type, which must be a protobuf message.

BuildApiCall<TRequest, TResponse>(string, Func<CallOptions, AsyncClientStreamingCall<TRequest, TResponse>>, CallSettings, ClientStreamingSettings)

public ApiClientStreamingCall<TRequest, TResponse> BuildApiCall<TRequest, TResponse>(string methodName, Func<CallOptions, AsyncClientStreamingCall<TRequest, TResponse>> grpcCall, CallSettings perMethodCallSettings, ClientStreamingSettings streamingSettings) where TRequest : class, IMessage<TRequest> where TResponse : class, IMessage<TResponse>

Builds an ApiClientStreamingCall given a suitable underlying client streaming call.

Parameters
NameDescription
methodNamestring

The underlying method name, for diagnostic purposes.

grpcCallFuncCallOptionsAsyncClientStreamingCall

The underlying gRPC client streaming call.

perMethodCallSettingsCallSettings

The default method call settings.

streamingSettingsClientStreamingSettings

The default streaming settings.

Returns
TypeDescription
ApiClientStreamingCall

An API call to proxy to the RPC calls

Type Parameters
NameDescription
TRequest

Request type, which must be a protobuf message.

TResponse

Response type, which must be a protobuf message.

BuildApiCall<TRequest, TResponse>(string, Func<CallOptions, AsyncDuplexStreamingCall<TRequest, TResponse>>, CallSettings, BidirectionalStreamingSettings)

public ApiBidirectionalStreamingCall<TRequest, TResponse> BuildApiCall<TRequest, TResponse>(string methodName, Func<CallOptions, AsyncDuplexStreamingCall<TRequest, TResponse>> grpcCall, CallSettings perMethodCallSettings, BidirectionalStreamingSettings streamingSettings) where TRequest : class, IMessage<TRequest> where TResponse : class, IMessage<TResponse>

Builds an ApiBidirectionalStreamingCall given a suitable underlying duplex call.

Parameters
NameDescription
methodNamestring

The underlying method name, for diagnostic purposes.

grpcCallFuncCallOptionsAsyncDuplexStreamingCall

The underlying gRPC duplex streaming call.

perMethodCallSettingsCallSettings

The default method call settings.

streamingSettingsBidirectionalStreamingSettings

The default streaming settings.

Returns
TypeDescription
ApiBidirectionalStreamingCall

An API call to proxy to the RPC calls

Type Parameters
NameDescription
TRequest

Request type, which must be a protobuf message.

TResponse

Response type, which must be a protobuf message.