Table of Contents

Namespace PatternKit.Messaging.Reliability

Classes

DeadLetterChannel<TPayload>

Captures failed or undeliverable messages with operational metadata and replay handoff support.

DeadLetterChannel<TPayload>.Builder

Dead-letter channel fluent builder.

DeadLetterMessage<TPayload>

Captured failed message with operational failure metadata.

DeadLetterReplayResult<TPayload>

Replay handoff result for a dead-lettered message.

GuaranteedDeliveryLease<TPayload>

A lease returned when a guaranteed-delivery message is received for processing.

GuaranteedDeliveryQueue<TPayload>

Durable queue facade for the Guaranteed Delivery enterprise integration pattern.

GuaranteedDeliveryQueue<TPayload>.Builder
GuaranteedDeliveryRecord<TPayload>

Stored message record used by the Guaranteed Delivery pattern.

IdempotencyClaim

Result returned when an idempotency key is claimed.

IdempotentReceiverResult<TResult>

Result returned by an idempotent receiver.

IdempotentReceiver<TPayload, TResult>

Decorates a message handler with idempotency-key claim, completion, and duplicate handling.

IdempotentReceiver<TPayload, TResult>.Builder

Fluent builder for IdempotentReceiver<TPayload, TResult>.

InMemoryDeadLetterStore<TPayload>

In-memory dead-letter store suitable for tests, samples, and embedded applications.

InMemoryGuaranteedDeliveryStore<TPayload>

Thread-safe in-memory store for tests, demos, and single-process applications.

InMemoryIdempotencyStore

Thread-safe in-memory idempotency store for tests, demos, and single-process applications.

InMemoryIdempotencyStoreWithTtl

Thread-safe in-memory idempotency store with optional per-key TTL and periodic eviction.

InMemoryOutboxStore<TPayload>

Thread-safe in-memory implementation of IOutboxStore<TPayload> for tests, demos, and single-process applications.

InMemoryOutbox<TPayload>

Thread-safe in-memory outbox for tests, demos, and single-process applications.

InboxProcessor<TPayload, TResult>

Inbox processor that applies an idempotent receiver around a message handler.

MessageExpirationResult<TPayload>

Result returned by a message-expiration evaluation.

MessageExpiration<TPayload>

Stamps and evaluates message expiration metadata so stale messages can be rejected before processing.

MessageExpiration<TPayload>.Builder

Fluent builder for MessageExpiration<TPayload>.

OutboxDispatcher<TPayload>

Pluggable dispatch loop helper for the Transactional Outbox pattern. Combines an IOutboxStore<TPayload> with an IOutboxDispatcher<TPayload> to provide a reusable relay loop.

OutboxMessage<TPayload>

In-process outbox record that can be persisted by application code before dispatch.

OutboxStoreExtensions

Convenience extension methods for IOutboxStore<TPayload>.

Interfaces

IDeadLetterStore<TPayload>

Store abstraction for durable dead-letter records.

IGuaranteedDeliveryStore<TPayload>

Backing store contract for guaranteed-delivery queues.

IIdempotencyStore

Pluggable idempotency key store used by idempotent receivers and inbox processors.

IIdempotencyStoreWithTtl

Extends IIdempotencyStore with optional per-key TTL and periodic eviction.

IOutboxDispatcher<TPayload>

Dispatches outbox records to an application-owned transport, queue, or handler.

IOutboxStore<TPayload>

Pluggable backing store for the Transactional Outbox pattern. Implement this interface to provide durable outbox storage (e.g., relational database, file system).

Enums

DuplicateMessagePolicy

Defines how an idempotent receiver handles a duplicate idempotency key.

GuaranteedDeliveryStatus

Status for a guaranteed-delivery record.

IdempotencyEntryStatus

Describes the stored state of an idempotency key.

IdempotentReceiverStatus

Describes the outcome of an idempotent receiver invocation.

MissingIdempotencyKeyPolicy

Defines how an idempotent receiver handles messages without an idempotency key.

Delegates

DeadLetterIdFactory<TPayload>

Creates a dead-letter id from the failed message and failure reason.

IdempotentReceiver<TPayload, TResult>.KeySelector

Extracts an idempotency key from a message and context.

IdempotentReceiver<TPayload, TResult>.MessageHandler

Async handler protected by the idempotent receiver.