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
resolverFactoryIDependencyResolverFactoryadmissionIRequestAdmissionfiltersIEnumerable<IMessageFilter>lifetimeOutboundOperationLifetime
Methods
CreatePipeline(MessageFilterDelegate, bool)
Builds a reusable outbound filter pipeline around a terminal operation.
public MessageFilterDelegate CreatePipeline(MessageFilterDelegate terminal, bool includeObservability = true)
Parameters
terminalMessageFilterDelegateincludeObservabilitybool
Returns
ExecuteAsync(IMessageContext, MessageFilterDelegate)
Executes one finite outbound operation.
public ValueTask ExecuteAsync(IMessageContext context, MessageFilterDelegate pipeline)
Parameters
contextIMessageContextpipelineMessageFilterDelegate
Returns
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
contextIMessageContextpipelineMessageFilterDelegateoperationFunc<IMessageContext, IAsyncEnumerable<T>>cancellationTokenCancellationToken
Returns
Type Parameters
T