Class ApiServerStreamingCall<TRequest, TResponse> (4.4.0)

public sealed class ApiServerStreamingCall<TRequest, TResponse>

Bridge between a server streaming RPC method and higher level abstractions, applying call settings as required.

Inheritance

object > ApiServerStreamingCall<TRequest, TResponse>

Namespace

Google.Api.Gax.Grpc

Assembly

Google.Api.Gax.Grpc.dll

Type Parameters

Name Description
TRequest

RPC request type

TResponse

RPC response type

Properties

BaseCallSettings

public CallSettings BaseCallSettings { get; }

The base CallSettings for this API call; these can be further overridden by providing a CallSettings to Call(TRequest, CallSettings).

Property Value
Type Description
CallSettings

Methods

Call(TRequest, CallSettings)

public AsyncServerStreamingCall<TResponse> Call(TRequest request, CallSettings perCallCallSettings)

Initializes a streaming RPC call.

Parameters
Name Description
request TRequest

The RPC request.

perCallCallSettings CallSettings

The call settings to apply to this specific call, overriding defaults where necessary.

Returns
Type Description
AsyncServerStreamingCall

A gRPC duplex streaming call object.

CallAsync(TRequest, CallSettings)

public Task<AsyncServerStreamingCall<TResponse>> CallAsync(TRequest request, CallSettings perCallCallSettings)

Initializes a streaming RPC call asynchronously.

Parameters
Name Description
request TRequest

The RPC request.

perCallCallSettings CallSettings

The call settings to apply to this specific call, overriding defaults where necessary.

Returns
Type Description
TaskAsyncServerStreamingCall

A task representing the gRPC duplex streaming call object.

WithCallSettingsOverlay(Func<TRequest, CallSettings>)

public ApiServerStreamingCall<TRequest, TResponse> WithCallSettingsOverlay(Func<TRequest, CallSettings> callSettingsOverlayFn)

Constructs a new ApiServerStreamingCall<TRequest, TResponse> that applies an overlay to the underlying CallSettings. If a value exists in both the original and the overlay, the overlay takes priority.

Parameter
Name Description
callSettingsOverlayFn FuncCallSettings

Function that builds the overlay CallSettings.

Returns
Type Description
ApiServerStreamingCall

A new ApiServerStreamingCall<TRequest, TResponse> with the overlay applied.

WithExtractedGoogleRequestParam(RoutingHeaderExtractor<TRequest>)

public ApiServerStreamingCall<TRequest, TResponse> WithExtractedGoogleRequestParam(RoutingHeaderExtractor<TRequest> extractor)

Constructs a new ApiCall<TRequest, TResponse> that applies an x-goog-request-params header to each request, using the RoutingHeaderExtractor<TRequest>.

Parameter
Name Description
extractor RoutingHeaderExtractor

The RoutingHeaderExtractor<TRequest> that extracts the value of the routing header from a request.

Returns
Type Description
ApiServerStreamingCall

A new ApiCall<TRequest, TResponse> which applies the header on each request.

Remarks

Values produced by the function are URL-encoded.

WithGoogleRequestParam(string, Func<TRequest, string>)

public ApiServerStreamingCall<TRequest, TResponse> WithGoogleRequestParam(string parameterName, Func<TRequest, string> valueSelector)

Constructs a new ApiServerStreamingCall<TRequest, TResponse> that applies an x-goog-request-params header to each request, using the specified parameter name and a value derived from the request.

Parameters
Name Description
parameterName string

The parameter name in the header. Must not be null.

valueSelector Funcstring

A function to call on each request, to determine the value to specify in the header. The parameter must not be null, but may return null.

Returns
Type Description
ApiServerStreamingCall

A new ApiServerStreamingCall<TRequest, TResponse> which applies the header on each request.

Remarks

Values produced by the function are URL-encoded; it is expected that parameterName is already URL-encoded.