Table of Contents

Class OutboundOperationExecutor

Namespace
AnyProtocol
Assembly
AnyProtocol.dll

Owns outbound operation admission, dependency scopes, and configured filter execution.

public sealed class OutboundOperationExecutor
Inheritance
OutboundOperationExecutor
Inherited Members

Constructors

OutboundOperationExecutor(IDependencyResolverFactory, IRequestAdmission, IEnumerable<IMessageFilter>?, OutboundOperationLifetime?)

Initializes an outbound operation executor.

public OutboundOperationExecutor(IDependencyResolverFactory resolverFactory, IRequestAdmission admission, IEnumerable<IMessageFilter>? filters = null, OutboundOperationLifetime? lifetime = null)

Parameters

resolverFactory IDependencyResolverFactory
admission IRequestAdmission
filters IEnumerable<IMessageFilter>
lifetime OutboundOperationLifetime

Methods

CreatePipeline(MessageFilterDelegate, bool)

Builds a reusable outbound filter pipeline around a terminal operation.

public MessageFilterDelegate CreatePipeline(MessageFilterDelegate terminal, bool includeObservability = true)

Parameters

terminal MessageFilterDelegate
includeObservability bool

Returns

MessageFilterDelegate

ExecuteAsync(IMessageContext, MessageFilterDelegate)

Executes one finite outbound operation.

public ValueTask ExecuteAsync(IMessageContext context, MessageFilterDelegate pipeline)

Parameters

context IMessageContext
pipeline MessageFilterDelegate

Returns

ValueTask

ExecuteStreamAsync<T>(IMessageContext, MessageFilterDelegate, Func<IMessageContext, IAsyncEnumerable<T>>, CancellationToken)

Executes an outbound stream while retaining its admission lease and scope.

public IAsyncEnumerable<T> ExecuteStreamAsync<T>(IMessageContext context, MessageFilterDelegate pipeline, Func<IMessageContext, IAsyncEnumerable<T>> operation, CancellationToken cancellationToken = default)

Parameters

context IMessageContext
pipeline MessageFilterDelegate
operation Func<IMessageContext, IAsyncEnumerable<T>>
cancellationToken CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

T