Class InMemoryMessageDeduplicationStore
- Namespace
- AnyProtocol
- Assembly
- AnyProtocol.dll
Provides a process-local inbox store for tests and single-instance applications.
public sealed class InMemoryMessageDeduplicationStore : IMessageDeduplicationStore
- Inheritance
-
InMemoryMessageDeduplicationStore
- Implements
- Inherited Members
Constructors
InMemoryMessageDeduplicationStore(string, TimeProvider?)
Creates a process-local inbox store.
public InMemoryMessageDeduplicationStore(string name = "in-memory", TimeProvider? timeProvider = null)
Parameters
namestringtimeProviderTimeProvider
Properties
Name
Gets the logical provider registration name.
public string Name { get; }
Property Value
Methods
CompleteAsync(MessageDeduplicationLease, TimeSpan, CancellationToken)
Marks a successfully processed lease as complete for the retention window.
public 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.
public 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.
public ValueTask<MessageDeduplicationLease?> TryAcquireAsync(string messageId, TimeSpan leaseDuration, CancellationToken cancellationToken = default)
Parameters
messageIdstringleaseDurationTimeSpancancellationTokenCancellationToken