Class MessageExpiration<TPayload>
- Namespace
- PatternKit.Messaging.Reliability
- Assembly
- PatternKit.Core.dll
Stamps and evaluates message expiration metadata so stale messages can be rejected before processing.
public sealed class MessageExpiration<TPayload>
Type Parameters
TPayload
- Inheritance
-
MessageExpiration<TPayload>
- Inherited Members
Properties
HeaderName
The header used to store the expiration deadline.
public string HeaderName { get; }
Property Value
Methods
Create()
Creates a new message-expiration builder.
public static MessageExpiration<TPayload>.Builder Create()
Returns
- MessageExpiration<TPayload>.Builder
Evaluate(Message<TPayload>, MessageContext?)
Evaluates whether a message is expired at the current clock time.
public MessageExpirationResult<TPayload> Evaluate(Message<TPayload> message, MessageContext? context = null)
Parameters
messageMessage<TPayload>contextMessageContext
Returns
- MessageExpirationResult<TPayload>
Read(Message<TPayload>)
Reads the expiration deadline from a message when present and parseable.
public DateTimeOffset? Read(Message<TPayload> message)
Parameters
messageMessage<TPayload>
Returns
Stamp(Message<TPayload>, TimeSpan?)
Returns a new message with an expiration deadline based on the configured or supplied TTL.
public Message<TPayload> Stamp(Message<TPayload> message, TimeSpan? ttl = null)
Parameters
Returns
- Message<TPayload>
WithDeadline(Message<TPayload>, DateTimeOffset)
Returns a new message with an explicit expiration deadline.
public Message<TPayload> WithDeadline(Message<TPayload> message, DateTimeOffset expiresAt)
Parameters
messageMessage<TPayload>expiresAtDateTimeOffset
Returns
- Message<TPayload>