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
messageMessage<TPayload>reasonstringexceptionExceptionattemptsintcontextMessageContext
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
messageMessage<TPayload>reasonstringexceptionExceptionattemptsintcontextMessageContextcancellationTokenCancellationToken
Returns
- ValueTask<DeadLetterMessage<TPayload>>
Create(string)
Creates a dead-letter channel builder.
public static DeadLetterChannel<TPayload>.Builder Create(string name = "dead-letter-channel")
Parameters
namestring
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
deadLetterIdstringcancellationTokenCancellationToken
Returns
- ValueTask<DeadLetterReplayResult<TPayload>>