Interface IMessageDeduplicationStore
- Namespace
- AnyProtocol.Storage.Abstraction
- Assembly
- AnyProtocol.Storage.Abstraction.dll
Coordinates durable inbox claims for at-least-once message delivery.
public interface IMessageDeduplicationStore
Properties
Name
Gets the logical provider registration name.
string Name { get; }
Property Value
Methods
CompleteAsync(MessageDeduplicationLease, TimeSpan, CancellationToken)
Marks a successfully processed lease as complete for the retention window.
ValueTask CompleteAsync(MessageDeduplicationLease lease, TimeSpan retention, CancellationToken cancellationToken = default)
Parameters
leaseMessageDeduplicationLeaseretentionTimeSpancancellationTokenCancellationToken
Returns
ReleaseAsync(MessageDeduplicationLease, CancellationToken)
Releases a failed processing lease so that the broker can redeliver it.
ValueTask ReleaseAsync(MessageDeduplicationLease lease, CancellationToken cancellationToken = default)
Parameters
leaseMessageDeduplicationLeasecancellationTokenCancellationToken
Returns
TryAcquireAsync(string, TimeSpan, CancellationToken)
Atomically acquires a processing lease, or returns null when the message is already being processed or has completed within its retention window.
ValueTask<MessageDeduplicationLease?> TryAcquireAsync(string messageId, TimeSpan leaseDuration, CancellationToken cancellationToken = default)
Parameters
messageIdstringleaseDurationTimeSpancancellationTokenCancellationToken