Table of Contents

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

string

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

lease MessageDeduplicationLease
retention TimeSpan
cancellationToken CancellationToken

Returns

ValueTask

ReleaseAsync(MessageDeduplicationLease, CancellationToken)

Releases a failed processing lease so that the broker can redeliver it.

ValueTask ReleaseAsync(MessageDeduplicationLease lease, CancellationToken cancellationToken = default)

Parameters

lease MessageDeduplicationLease
cancellationToken CancellationToken

Returns

ValueTask

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

messageId string
leaseDuration TimeSpan
cancellationToken CancellationToken

Returns

ValueTask<MessageDeduplicationLease?>