Class ProtoGrpcClient
A named gRPC client created during setup by ProtoGrpcClientInitializer. Every
call is traced as a grpc.call operation with request/response sections and sanitized metadata,
applies the test's [Auth] authenticators to the call metadata, and reports a
grpc.response observation so coverage collectors can aggregate it.
public sealed class ProtoGrpcClient : IDisposable
- Inheritance
-
ProtoGrpcClient
- Implements
- Inherited Members
- Extension Methods
Methods
ClientStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, IEnumerable<TRequest>, Action<Metadata>?, DateTime?, CancellationToken)
Sends every request on a client-streaming method and waits for its response.
public Task<TResponse> ClientStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, IEnumerable<TRequest> requests, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class
Parameters
methodMethod<TRequest, TResponse>requestsIEnumerable<TRequest>metadataAction<Metadata>deadlineDateTime?cancellationTokenCancellationToken
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
DuplexStreaming<TRequest, TResponse>(Method<TRequest, TResponse>, Action<Metadata>?, DateTime?)
Opens a duplex-streaming call for callers that drive both directions themselves.
public AsyncDuplexStreamingCall<TRequest, TResponse> DuplexStreaming<TRequest, TResponse>(Method<TRequest, TResponse> method, Action<Metadata>? metadata = null, DateTime? deadline = null) where TRequest : class where TResponse : class
Parameters
Returns
- AsyncDuplexStreamingCall<TRequest, TResponse>
Type Parameters
TRequestTResponse
Remarks
This synchronous entry point blocks the calling thread while authenticators and the channel are prepared. Prefer OpenDuplexStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, Action<Metadata>?, DateTime?, CancellationToken) on a synchronizing runner.
OpenDuplexStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, Action<Metadata>?, DateTime?, CancellationToken)
Opens a raw duplex-streaming call without blocking the caller.
public Task<AsyncDuplexStreamingCall<TRequest, TResponse>> OpenDuplexStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class
Parameters
methodMethod<TRequest, TResponse>metadataAction<Metadata>deadlineDateTime?cancellationTokenCancellationToken
Returns
- Task<AsyncDuplexStreamingCall<TRequest, TResponse>>
Type Parameters
TRequestTResponse
OpenServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken)
Opens a raw server-streaming call without blocking the caller.
public Task<AsyncServerStreamingCall<TResponse>> OpenServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class
Parameters
methodMethod<TRequest, TResponse>requestTRequestmetadataAction<Metadata>deadlineDateTime?cancellationTokenCancellationToken
Returns
- Task<AsyncServerStreamingCall<TResponse>>
Type Parameters
TRequestTResponse
ServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken)
Reads a server-streaming method to completion and returns the response messages.
public Task<IReadOnlyList<TResponse>> ServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class
Parameters
methodMethod<TRequest, TResponse>requestTRequestmetadataAction<Metadata>deadlineDateTime?cancellationTokenCancellationToken
Returns
- Task<IReadOnlyList<TResponse>>
Type Parameters
TRequestTResponse
ServerStreaming<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?)
Opens a server-streaming call for callers that want to consume messages as they arrive.
public AsyncServerStreamingCall<TResponse> ServerStreaming<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null) where TRequest : class where TResponse : class
Parameters
Returns
- AsyncServerStreamingCall<TResponse>
Type Parameters
TRequestTResponse
Remarks
This synchronous entry point blocks the calling thread while authenticators and the channel are prepared. Prefer OpenServerStreamingAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken) on a synchronizing runner.
UnaryAsync<TRequest, TResponse>(Method<TRequest, TResponse>, TRequest, Action<Metadata>?, DateTime?, CancellationToken)
Calls a unary method and waits for its response.
public Task<TResponse> UnaryAsync<TRequest, TResponse>(Method<TRequest, TResponse> method, TRequest request, Action<Metadata>? metadata = null, DateTime? deadline = null, CancellationToken cancellationToken = default) where TRequest : class where TResponse : class
Parameters
methodMethod<TRequest, TResponse>requestTRequestmetadataAction<Metadata>deadlineDateTime?cancellationTokenCancellationToken
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse