public class ClientHelper
Common helper code shared by clients. This class is primarily expected to be used from generated code.
Namespace
Google.Api.Gax.GrpcAssembly
Google.Api.Gax.Grpc.dll
Constructors
ClientHelper(Options)
public ClientHelper(ClientHelper.Options options)
Constructs a helper from the given options. See the properties in ClientHelper.Options for validity constraints.
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.
settings
logger
This constructor will be removed in the next major version of GAX.
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.
Logger
public ILogger Logger { get; }
The logger used by this instance, or null if it does not perform logging.
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.
Methods
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.
methodName
grpcCall
perMethodCallSettings
streamingSettings
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.
methodName
grpcCall
perMethodCallSettings
streamingSettings
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, 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.
methodName
grpcCall
perMethodCallSettings
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.
methodName
asyncGrpcCall
syncGrpcCall
perMethodCallSettings
TRequest
Request type, which must be a protobuf message.
TResponse
Response type, which must be a protobuf message.