Table of Contents

Class IncomingRequestExtensions

Namespace
IceRpc.Ice.Operations
Assembly
IceRpc.Ice.dll

Provides extension methods for IncomingRequest to decode its Ice-encoded payload.

public static class IncomingRequestExtensions
Inheritance
IncomingRequestExtensions
Inherited Members

Methods

CreateIceExceptionResponse(IncomingRequest, IceException)

Creates an outgoing response with status code ApplicationError with an Ice exception payload.

public static OutgoingResponse CreateIceExceptionResponse(this IncomingRequest request, IceException iceException)

Parameters

request IncomingRequest

The incoming request.

iceException IceException

The Ice exception to encode in the payload.

Returns

OutgoingResponse

The new outgoing response.

DecodeArgsAsync<T>(IncomingRequest, DecodeFunc<T>, IActivator, CancellationToken)

Decodes a request payload into a list of arguments.

public static ValueTask<T> DecodeArgsAsync<T>(this IncomingRequest request, DecodeFunc<T> decodeFunc, IActivator defaultActivator, CancellationToken cancellationToken = default)

Parameters

request IncomingRequest

The incoming request.

decodeFunc DecodeFunc<T>

The decode function for the arguments from the payload.

defaultActivator IActivator

The activator to use when the activator provided by the request's IIceFeature is null.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

ValueTask<T>

The request arguments.

Type Parameters

T

The type of the request parameters.

DecodeEmptyArgsAsync(IncomingRequest, CancellationToken)

Verifies that a request payload carries no argument or only unknown tagged arguments.

public static ValueTask DecodeEmptyArgsAsync(this IncomingRequest request, CancellationToken cancellationToken = default)

Parameters

request IncomingRequest

The incoming request.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

ValueTask

A value task that completes when the checking is complete.

DispatchOperationAsync(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask>, Func<IFeatureCollection, CancellationToken, ValueTask>, Func<IceException, bool>?, CancellationToken)

Dispatches an incoming request to a method that matches the request's operation name. The operation does not accept any arguments and does not return anything.

public static ValueTask<OutgoingResponse> DispatchOperationAsync(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask> decodeArgs, Func<IFeatureCollection, CancellationToken, ValueTask> method, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)

Parameters

request IncomingRequest

The incoming request.

decodeArgs Func<IncomingRequest, CancellationToken, ValueTask>

A function that decodes the empty arguments from the request payload.

method Func<IFeatureCollection, CancellationToken, ValueTask>

The user-provided implementation of the operation.

inExceptionSpecification Func<IceException, bool>

A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

ValueTask<OutgoingResponse>

A value task that holds the outgoing response.

DispatchOperationAsync<TArgs>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask>, Func<IceException, bool>?, CancellationToken)

Dispatches an incoming request to a method that matches the request's operation name. The operation does not return anything.

public static ValueTask<OutgoingResponse> DispatchOperationAsync<TArgs>(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>> decodeArgs, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask> method, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)

Parameters

request IncomingRequest

The incoming request.

decodeArgs Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>

A function that decodes the arguments from the request payload.

method Func<TArgs, IFeatureCollection, CancellationToken, ValueTask>

The user-provided implementation of the operation.

inExceptionSpecification Func<IceException, bool>

A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

ValueTask<OutgoingResponse>

A value task that holds the outgoing response.

Type Parameters

TArgs

The type of the operation arguments.

DispatchOperationAsync<TReturnValue>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask>, Func<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>, Func<TReturnValue, IceEncodeOptions?, PipeReader>, Func<IceException, bool>?, CancellationToken)

Dispatches an incoming request to a method that matches the request's operation name. The operation does not accept any arguments.

public static ValueTask<OutgoingResponse> DispatchOperationAsync<TReturnValue>(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask> decodeArgs, Func<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>> method, Func<TReturnValue, IceEncodeOptions?, PipeReader> encodeReturnValue, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)

Parameters

request IncomingRequest

The incoming request.

decodeArgs Func<IncomingRequest, CancellationToken, ValueTask>

A function that decodes the empty arguments from the request payload.

method Func<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>

The user-provided implementation of the operation.

encodeReturnValue Func<TReturnValue, IceEncodeOptions, PipeReader>

A function that encodes the return value into a PipeReader.

inExceptionSpecification Func<IceException, bool>

A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

ValueTask<OutgoingResponse>

A value task that holds the outgoing response.

Type Parameters

TReturnValue

The type of the operation return value.

DispatchOperationAsync<TArgs, TReturnValue>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>, Func<TReturnValue, IceEncodeOptions?, PipeReader>, Func<IceException, bool>?, CancellationToken)

Dispatches an incoming request to a method that matches the request's operation name.

public static ValueTask<OutgoingResponse> DispatchOperationAsync<TArgs, TReturnValue>(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>> decodeArgs, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>> method, Func<TReturnValue, IceEncodeOptions?, PipeReader> encodeReturnValue, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)

Parameters

request IncomingRequest

The incoming request.

decodeArgs Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>

A function that decodes the arguments from the request payload.

method Func<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>

The user-provided implementation of the operation.

encodeReturnValue Func<TReturnValue, IceEncodeOptions, PipeReader>

A function that encodes the return value into a PipeReader.

inExceptionSpecification Func<IceException, bool>

A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

ValueTask<OutgoingResponse>

A value task that holds the outgoing response.

Type Parameters

TArgs

The type of the operation arguments.

TReturnValue

The type of the operation return value.