Class IncomingRequestExtensions
- Namespace
- IceRpc.Slice.Operations
- Assembly
- IceRpc.Slice.dll
Provides extension methods for IncomingRequest to decode its Slice-encoded payload.
public static class IncomingRequestExtensions
- Inheritance
-
IncomingRequestExtensions
- Inherited Members
Methods
DecodeArgsAsync<T>(IncomingRequest, DecodeFunc<T>, CancellationToken)
Decodes a request payload into a list of arguments.
public static ValueTask<T> DecodeArgsAsync<T>(this IncomingRequest request, DecodeFunc<T> decodeFunc, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeFuncDecodeFunc<T>The decode function for the arguments from the payload.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<T>
The request arguments.
Type Parameters
TThe 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
requestIncomingRequestThe incoming request.
cancellationTokenCancellationTokenA 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>, 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, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask>A function that decodes the empty arguments from the request payload.
methodFunc<IFeatureCollection, CancellationToken, ValueTask>The user-provided implementation of the operation.
cancellationTokenCancellationTokenA 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>, 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, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask<TArgs>>A function that decodes the arguments from the request payload.
methodFunc<TArgs, IFeatureCollection, CancellationToken, ValueTask>The user-provided implementation of the operation.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
Type Parameters
TArgsThe type of the operation arguments.
DispatchOperationAsync<TReturnValue>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask>, Func<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>, Func<TReturnValue, SliceEncodeOptions?, PipeReader>, Func<TReturnValue, SliceEncodeOptions?, PipeReader>?, 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, SliceEncodeOptions?, PipeReader> encodeReturnValue, Func<TReturnValue, SliceEncodeOptions?, PipeReader>? encodeReturnValueStream = null, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask>A function that decodes the empty arguments from the request payload.
methodFunc<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>The user-provided implementation of the operation.
encodeReturnValueFunc<TReturnValue, SliceEncodeOptions, PipeReader>A function that encodes the return value into a PipeReader.
encodeReturnValueStreamFunc<TReturnValue, SliceEncodeOptions, PipeReader>A function that encodes the stream portion of the return value.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
Type Parameters
TReturnValueThe type of the operation return value.
DispatchOperationAsync<TArgs, TReturnValue>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>, Func<TReturnValue, SliceEncodeOptions?, PipeReader>, Func<TReturnValue, SliceEncodeOptions?, PipeReader>?, 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, SliceEncodeOptions?, PipeReader> encodeReturnValue, Func<TReturnValue, SliceEncodeOptions?, PipeReader>? encodeReturnValueStream = null, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask<TArgs>>A function that decodes the arguments from the request payload.
methodFunc<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>The user-provided implementation of the operation.
encodeReturnValueFunc<TReturnValue, SliceEncodeOptions, PipeReader>A function that encodes the return value into a PipeReader.
encodeReturnValueStreamFunc<TReturnValue, SliceEncodeOptions, PipeReader>A function that encodes the stream portion of the return value.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
Type Parameters
TArgsThe type of the operation arguments.
TReturnValueThe type of the operation return value.