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.
- Resequencer<TPayload>
Buffers out-of-order messages and releases contiguous messages in sequence order.
- 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.
- 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.
- RoutingSlip<TPayload>.StepHandler
Step handler used by a routing slip.
- Splitter<TPayload, TItem>.SplitHandler
Splits the source message into item payloads.
- WireTap<TPayload>.TapHandler
Handler invoked for each tapped message.