public class ClientHelper
Common helper code shared by clients.
Namespace
Google.Api.Gax.GrpcAssembly
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 | |
---|---|
Name | Description |
settings | ServiceSettingsBase The service settings. |
logger | ILogger 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 | |
---|---|
Type | Description |
IClock |
Logger
public ILogger Logger { get; }
The logger used by this instance, or null if it does not perform logging.
Property Value | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
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 Google.Api.Gax.Grpc.ApiServerStreamingCall given a suitable underlying server streaming call.
Parameters | |
---|---|
Name | Description |
methodName | String The underlying method name, for diagnostic purposes. |
grpcCall | Func<TRequest, CallOptions, AsyncServerStreamingCall<TResponse>> The underlying gRPC server streaming call. |
perMethodCallSettings | CallSettings The default method call settings. |
Returns | |
---|---|
Type | Description |
ApiServerStreamingCall<TRequest, TResponse> | An API call to proxy to the RPC calls |
Type Parameters | |
---|---|
Name | Description |
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 Google.Api.Gax.Grpc.ApiCall given suitable underlying async and sync calls.
Parameters | |
---|---|
Name | Description |
methodName | String The underlying method name, for diagnostic purposes. |
asyncGrpcCall | Func<TRequest, CallOptions, AsyncUnaryCall<TResponse>> The underlying synchronous gRPC call. |
syncGrpcCall | Func<TRequest, CallOptions, TResponse> The underlying asynchronous gRPC call. |
perMethodCallSettings | CallSettings The default method call settings. |
Returns | |
---|---|
Type | Description |
ApiCall<TRequest, TResponse> | An API call to proxy to the RPC calls |
Type Parameters | |
---|---|
Name | Description |
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 Google.Api.Gax.Grpc.ApiClientStreamingCall given a suitable underlying client streaming call.
Parameters | |
---|---|
Name | Description |
methodName | String The underlying method name, for diagnostic purposes. |
grpcCall | Func<CallOptions, AsyncClientStreamingCall<TRequest, TResponse>> The underlying gRPC client streaming call. |
perMethodCallSettings | CallSettings The default method call settings. |
streamingSettings | ClientStreamingSettings The default streaming settings. |
Returns | |
---|---|
Type | Description |
ApiClientStreamingCall<TRequest, TResponse> | An API call to proxy to the RPC calls |
Type Parameters | |
---|---|
Name | Description |
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 Google.Api.Gax.Grpc.ApiBidirectionalStreamingCall given a suitable underlying duplex call.
Parameters | |
---|---|
Name | Description |
methodName | String The underlying method name, for diagnostic purposes. |
grpcCall | Func<CallOptions, AsyncDuplexStreamingCall<TRequest, TResponse>> The underlying gRPC duplex streaming call. |
perMethodCallSettings | CallSettings The default method call settings. |
streamingSettings | BidirectionalStreamingSettings The default streaming settings. |
Returns | |
---|---|
Type | Description |
ApiBidirectionalStreamingCall<TRequest, TResponse> | An API call to proxy to the RPC calls |
Type Parameters | |
---|---|
Name | Description |
TRequest | Request type, which must be a protobuf message. |
TResponse | Response type, which must be a protobuf message. |