Class ClientHelper

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)

public ClientHelper(ServiceSettingsBase settings)

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

Parameter
TypeNameDescription
ServiceSettingsBasesettings

The service settings.

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

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>(Func<TRequest, CallOptions, AsyncServerStreamingCall<TResponse>>, CallSettings)

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

Builds an Google.Api.Gax.Grpc.ApiServerStreamingCall given a suitable underlying server streaming call.

Parameters
TypeNameDescription
Func<TRequest, CallOptions, AsyncServerStreamingCall<TResponse>>grpcCall

The underlying gRPC duplex streaming call.

CallSettingsperMethodCallSettings

The default method call settings.

Returns
TypeDescription
ApiServerStreamingCall<TRequest, TResponse>

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>(Func<TRequest, CallOptions, AsyncUnaryCall<TResponse>>, Func<TRequest, CallOptions, TResponse>, CallSettings)

public ApiCall<TRequest, TResponse> BuildApiCall<TRequest, TResponse>(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 Google.Api.Gax.Grpc.ApiCall given suitable underlying async and sync calls.

Parameters
TypeNameDescription
Func<TRequest, CallOptions, AsyncUnaryCall<TResponse>>asyncGrpcCall

The underlying synchronous gRPC call.

Func<TRequest, CallOptions, TResponse>syncGrpcCall

The underlying asynchronous gRPC call.

CallSettingsperMethodCallSettings

The default method call settings.

Returns
TypeDescription
ApiCall<TRequest, TResponse>

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>(Func<CallOptions, AsyncDuplexStreamingCall<TRequest, TResponse>>, CallSettings, BidirectionalStreamingSettings)

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

Builds an Google.Api.Gax.Grpc.ApiBidirectionalStreamingCall given a suitable underlying duplex call.

Parameters
TypeNameDescription
Func<CallOptions, AsyncDuplexStreamingCall<TRequest, TResponse>>grpcCall

The underlying gRPC duplex streaming call.

CallSettingsperMethodCallSettings

The default method call settings.

BidirectionalStreamingSettingsstreamingSettings

The default streaming settings.

Returns
TypeDescription
ApiBidirectionalStreamingCall<TRequest, TResponse>

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.