Table of Contents

Class LoggerInterceptor

Namespace
IceRpc.Logger
Assembly
IceRpc.Logger.dll

An interceptor that writes a log entry to an ILogger for each invocation.

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

Constructors

LoggerInterceptor(IInvoker, ILogger)

Constructs a logger interceptor.

public LoggerInterceptor(IInvoker next, ILogger logger)

Parameters

next IInvoker

The next invoker in the invocation pipeline.

logger ILogger

The logger to log to.

Methods

InvokeAsync(OutgoingRequest, CancellationToken)

Sends an outgoing request and returns the corresponding incoming response.

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

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.

See Also