Table of Contents

Interface IIdempotencyStoreWithTtl

Namespace
PatternKit.Messaging.Reliability
Assembly
PatternKit.Core.dll

Extends IIdempotencyStore with optional per-key TTL and periodic eviction.

public interface IIdempotencyStoreWithTtl : IIdempotencyStore
Inherited Members

Methods

EvictExpiredAsync(CancellationToken)

Evicts all keys whose TTL has elapsed.

ValueTask<int> EvictExpiredAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask<int>

TryClaimAsync(string, TimeSpan?, CancellationToken)

Attempts to claim key for processing with an optional time-to-live. Keys expire after ttl elapses from their creation time.

ValueTask<IdempotencyClaim> TryClaimAsync(string key, TimeSpan? ttl, CancellationToken cancellationToken = default)

Parameters

key string
ttl TimeSpan?
cancellationToken CancellationToken

Returns

ValueTask<IdempotencyClaim>