Class ApiServerStreamingCall<TRequest, TResponse> (4.0.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

NameDescription
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
TypeDescription
CallSettings

Methods

Call(TRequest, CallSettings)

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

Initializes a streaming RPC call.

Parameters
NameDescription
requestTRequest

The RPC request.

perCallCallSettingsCallSettings

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

Returns
TypeDescription
AsyncServerStreamingCall<TResponse>

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
NameDescription
requestTRequest

The RPC request.

perCallCallSettingsCallSettings

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

Returns
TypeDescription
Task<AsyncServerStreamingCall<TResponse>>

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
NameDescription
callSettingsOverlayFnFunc<TRequest, CallSettings>

Function that builds the overlay CallSettings.

Returns
TypeDescription
ApiServerStreamingCall<TRequest, TResponse>

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
NameDescription
extractorRoutingHeaderExtractor<TRequest>

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

Returns
TypeDescription
ApiServerStreamingCall<TRequest, TResponse>

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
NameDescription
parameterNameString

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

valueSelectorFunc<TRequest, String>

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
TypeDescription
ApiServerStreamingCall<TRequest, TResponse>

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.