Table of Contents

Class DeadLetterChannel<TPayload>

Namespace
PatternKit.Messaging.Reliability
Assembly
PatternKit.Core.dll

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

public sealed class DeadLetterChannel<TPayload>

Type Parameters

TPayload
Inheritance
DeadLetterChannel<TPayload>
Inherited Members

Methods

Capture(Message<TPayload>, string, Exception?, int, MessageContext?)

Captures a failed message using a synchronous store call.

public DeadLetterMessage<TPayload> Capture(Message<TPayload> message, string reason, Exception? exception = null, int attempts = 0, MessageContext? context = null)

Parameters

message Message<TPayload>
reason string
exception Exception
attempts int
context MessageContext

Returns

DeadLetterMessage<TPayload>

CaptureAsync(Message<TPayload>, string, Exception?, int, MessageContext?, CancellationToken)

Captures a failed message with reason, attempts, original headers, and replay metadata.

public ValueTask<DeadLetterMessage<TPayload>> CaptureAsync(Message<TPayload> message, string reason, Exception? exception = null, int attempts = 0, MessageContext? context = null, CancellationToken cancellationToken = default)

Parameters

message Message<TPayload>
reason string
exception Exception
attempts int
context MessageContext
cancellationToken CancellationToken

Returns

ValueTask<DeadLetterMessage<TPayload>>

Create(string)

Creates a dead-letter channel builder.

public static DeadLetterChannel<TPayload>.Builder Create(string name = "dead-letter-channel")

Parameters

name string

Returns

DeadLetterChannel<TPayload>.Builder

PrepareReplayAsync(string, CancellationToken)

Attempts to load a dead-lettered message for replay handoff.

public ValueTask<DeadLetterReplayResult<TPayload>> PrepareReplayAsync(string deadLetterId, CancellationToken cancellationToken = default)

Parameters

deadLetterId string
cancellationToken CancellationToken

Returns

ValueTask<DeadLetterReplayResult<TPayload>>