Table of Contents

Class InlineInvoker

Namespace
IceRpc
Assembly
IceRpc.dll

Adapts a function to the IInvoker interface.

public class InlineInvoker : IInvoker
Inheritance
InlineInvoker
Implements
Inherited Members
Extension Methods

Constructors

InlineInvoker(Func<OutgoingRequest, CancellationToken, Task<IncomingResponse>>)

Constructs an InlineInvoker using a function.

public InlineInvoker(Func<OutgoingRequest, CancellationToken, Task<IncomingResponse>> function)

Parameters

function Func<OutgoingRequest, CancellationToken, Task<IncomingResponse>>

The function that implements the invoker's InvokerAsync method.

Methods

InvokeAsync(OutgoingRequest, CancellationToken)

Sends an outgoing request and returns the corresponding incoming response.

public Task<IncomingResponse> InvokeAsync(OutgoingRequest request, CancellationToken cancellationToken = default)

Parameters

request OutgoingRequest

The outgoing request being sent.

cancellationToken CancellationToken

A cancellation token that receives the cancellation requests.

Returns

Task<IncomingResponse>

The corresponding IncomingResponse.

Remarks

When request is a two-way request, the returned task will not complete successfully until after the request's Payload is fully sent and the response is received from the peer. When the request is a one-way request, the returned task completes successfully with an empty response when the request's Payload is fully sent. For all requests (one-way and two-way), the sending of the request's PayloadContinuation can continue in a background task after the returned task has completed successfully.