Table of Contents

Namespace PatternKit.Messaging.Routing

Classes

AggregationResult<TKey, TResult>

Result returned after adding a message to an aggregator.

Aggregator<TKey, TItem, TResult>

In-process aggregator that collects related messages until a completion policy is satisfied.

Aggregator<TKey, TItem, TResult>.Builder

Fluent builder for Aggregator<TKey, TItem, TResult>.

AsyncContentRouter<TPayload, TResult>

Async content-based router that selects the first matching route for a message.

AsyncContentRouter<TPayload, TResult>.Builder

Fluent builder for AsyncContentRouter<TPayload, TResult>.

AsyncContentRouter<TPayload, TResult>.Builder.WhenBuilder

Fluent route continuation.

AsyncRecipientList<TPayload>

Async Recipient List pattern that dispatches a message to every matching recipient in order.

AsyncRecipientList<TPayload>.Builder

Fluent builder for AsyncRecipientList<TPayload>.

AsyncRecipientList<TPayload>.Builder.WhenBuilder

Fluent recipient continuation.

AsyncRoutingSlip<TPayload>

Async in-process Routing Slip pattern that executes named steps in order over a message.

AsyncRoutingSlip<TPayload>.Builder

Fluent builder for AsyncRoutingSlip<TPayload>.

AsyncScatterGatherResult<TResponse, TResult>

Aggregated async scatter-gather result.

AsyncScatterGather<TRequest, TResponse, TResult>

Async scatter-gather with pluggable completion strategy, per-branch error isolation, and concurrent fan-out using Task.WhenAll.

AsyncScatterGather<TRequest, TResponse, TResult>.Builder

Fluent builder for AsyncScatterGather<TRequest, TResponse, TResult>.

CompletionStrategy

Defines when AsyncScatterGather<TRequest, TResponse, TResult> considers the fan-out complete.

ContentRouter<TPayload, TResult>

Content-based router that selects the first matching route for a message.

ContentRouter<TPayload, TResult>.Builder

Fluent builder for ContentRouter<TPayload, TResult>.

ContentRouter<TPayload, TResult>.Builder.WhenBuilder

Fluent route continuation.

DynamicRouter<TPayload, TResult>

Dynamic router that keeps a runtime-updatable route table and routes each message through the current snapshot.

DynamicRouter<TPayload, TResult>.Builder

Fluent builder for DynamicRouter<TPayload, TResult>.

DynamicRouter<TPayload, TResult>.Builder.WhenBuilder

Fluent route continuation.

MessageFilterResult<TPayload>

Result returned by MessageFilter<TPayload>.

MessageFilter<TPayload>

Message filter that accepts messages matching at least one named rule and rejects the rest.

MessageFilter<TPayload>.Builder

Fluent builder for MessageFilter<TPayload>.

RecipientListResult

Result returned after dispatching a message through a recipient list.

RecipientList<TPayload>

Recipient List pattern that dispatches a message to every matching recipient.

RecipientList<TPayload>.Builder

Fluent builder for RecipientList<TPayload>.

RecipientList<TPayload>.Builder.WhenBuilder

Fluent recipient continuation.

ResequencerResult<TPayload>
Resequencer<TPayload>

Buffers out-of-order messages and releases contiguous messages in sequence order.

Resequencer<TPayload>.Builder
ResponseEnvelope<TResponse>

Envelope wrapping one recipient's response.

RoutingSlipResult<TPayload>

Result returned after executing a routing slip.

RoutingSlip<TPayload>

In-process Routing Slip pattern that executes named steps in order over a message.

RoutingSlip<TPayload>.Builder

Fluent builder for RoutingSlip<TPayload>.

ScatterGatherReply<TResponse>

Reply captured from one scatter-gather recipient.

ScatterGatherResult<TResponse, TResult>

Aggregated scatter-gather dispatch result.

ScatterGather<TRequest, TResponse, TResult>

Sends one request to multiple recipients and aggregates their replies.

ScatterGather<TRequest, TResponse, TResult>.Builder
SequencedMessage<TPayload>
Splitter<TPayload, TItem>

Splitter pattern that turns one message into zero or more item messages.

Splitter<TPayload, TItem>.Builder

Fluent builder for Splitter<TPayload, TItem>.

WireTapResult<TPayload>

Result returned by WireTap<TPayload>.

WireTap<TPayload>

Wire tap that observes messages with named side-channel handlers while preserving the original message.

WireTap<TPayload>.Builder

Fluent builder for WireTap<TPayload>.

Enums

DuplicateMessagePolicy

Duplicate handling for aggregator groups when messages share the same message id.

Delegates

Aggregator<TKey, TItem, TResult>.CompletionPolicy

Determines whether a group is complete.

Aggregator<TKey, TItem, TResult>.KeySelector

Selects the aggregation key for a message.

Aggregator<TKey, TItem, TResult>.ResultFactory

Creates the result for a completed group.

AsyncContentRouter<TPayload, TResult>.RouteHandler

Async handler executed for the first matching route.

AsyncContentRouter<TPayload, TResult>.RoutePredicate

Async predicate used to decide whether a route matches.

AsyncRecipientList<TPayload>.RecipientHandler

Async recipient handler invoked for matching recipients.

AsyncRecipientList<TPayload>.RecipientPredicate

Async predicate used to decide whether a recipient should receive a message.

AsyncRoutingSlip<TPayload>.StepHandler

Async step handler used by a routing slip.

AsyncScatterGather<TRequest, TResponse, TResult>.AsyncRecipientHandler

Async recipient delegate.

AsyncScatterGather<TRequest, TResponse, TResult>.ResponseAggregator

Aggregation delegate receiving all envelopes that completed before the strategy fired.

ContentRouter<TPayload, TResult>.RouteHandler

Handler executed for the first matching route.

ContentRouter<TPayload, TResult>.RoutePredicate

Predicate used to decide whether a route matches.

DynamicRouter<TPayload, TResult>.RouteHandler

Handler executed for the first matching dynamic route.

DynamicRouter<TPayload, TResult>.RoutePredicate

Predicate used to decide whether a dynamic route matches.

MessageFilter<TPayload>.FilterPredicate

Predicate used to decide whether a message should pass through the filter.

RecipientList<TPayload>.RecipientHandler

Recipient handler invoked for matching recipients.

RecipientList<TPayload>.RecipientPredicate

Predicate used to decide whether a recipient should receive a message.

Resequencer<TPayload>.SequenceSelector
RoutingSlip<TPayload>.StepHandler

Step handler used by a routing slip.

ScatterGather<TRequest, TResponse, TResult>.RecipientHandler
ScatterGather<TRequest, TResponse, TResult>.RecipientPredicate
ScatterGather<TRequest, TResponse, TResult>.ResponseAggregator
Splitter<TPayload, TItem>.SplitHandler

Splits the source message into item payloads.

WireTap<TPayload>.TapHandler

Handler invoked for each tapped message.