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 ApiServerStreamingCall given a suitable underlying server streaming call.
Parameters | |
---|---|
Name | Description |
methodName |
string The underlying method name, for diagnostic purposes. |
grpcCall |
FuncCallOptionsAsyncServerStreamingCall The underlying gRPC server streaming call. |
perMethodCallSettings |
CallSettings The default method call settings. |
Returns | |
---|---|
Type | Description |
ApiServerStreamingCall |
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 ApiCall given suitable underlying async and sync calls.
Parameters | |
---|---|
Name | Description |
methodName |
string The underlying method name, for diagnostic purposes. |
asyncGrpcCall |
FuncCallOptionsAsyncUnaryCall The underlying synchronous gRPC call. |
syncGrpcCall |
FuncCallOptions The underlying asynchronous gRPC call. |
perMethodCallSettings |
CallSettings The default method call settings. |
Returns | |
---|---|
Type | Description |
ApiCall |
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 ApiClientStreamingCall given a suitable underlying client streaming call.
Parameters | |
---|---|
Name | Description |
methodName |
string The underlying method name, for diagnostic purposes. |
grpcCall |
FuncCallOptionsAsyncClientStreamingCall The underlying gRPC client streaming call. |
perMethodCallSettings |
CallSettings The default method call settings. |
streamingSettings |
ClientStreamingSettings The default streaming settings. |
Returns | |
---|---|
Type | Description |
ApiClientStreamingCall |
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 ApiBidirectionalStreamingCall given a suitable underlying duplex call.
Parameters | |
---|---|
Name | Description |
methodName |
string The underlying method name, for diagnostic purposes. |
grpcCall |
FuncCallOptionsAsyncDuplexStreamingCall The underlying gRPC duplex streaming call. |
perMethodCallSettings |
CallSettings The default method call settings. |
streamingSettings |
BidirectionalStreamingSettings The default streaming settings. |
Returns | |
---|---|
Type | Description |
ApiBidirectionalStreamingCall |
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. |