Table of Contents

Interface IGuaranteedDeliveryStore<TPayload>

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

Backing store contract for guaranteed-delivery queues.

public interface IGuaranteedDeliveryStore<TPayload>

Type Parameters

TPayload

Methods

AcknowledgeAsync(string, CancellationToken)

ValueTask AcknowledgeAsync(string id, CancellationToken cancellationToken = default)

Parameters

id string
cancellationToken CancellationToken

Returns

ValueTask

DeadLetterAsync(string, string?, CancellationToken)

ValueTask DeadLetterAsync(string id, string? error = null, CancellationToken cancellationToken = default)

Parameters

id string
error string
cancellationToken CancellationToken

Returns

ValueTask

EnqueueAsync(Message<TPayload>, string?, DateTimeOffset?, CancellationToken)

ValueTask<GuaranteedDeliveryRecord<TPayload>> EnqueueAsync(Message<TPayload> message, string? id = null, DateTimeOffset? enqueuedAt = null, CancellationToken cancellationToken = default)

Parameters

message Message<TPayload>
id string
enqueuedAt DateTimeOffset?
cancellationToken CancellationToken

Returns

ValueTask<GuaranteedDeliveryRecord<TPayload>>

ReleaseAsync(string, string?, CancellationToken)

ValueTask ReleaseAsync(string id, string? error = null, CancellationToken cancellationToken = default)

Parameters

id string
error string
cancellationToken CancellationToken

Returns

ValueTask

SnapshotAsync(CancellationToken)

ValueTask<IReadOnlyList<GuaranteedDeliveryRecord<TPayload>>> SnapshotAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyList<GuaranteedDeliveryRecord<TPayload>>>

TryLeaseAsync(TimeSpan, int, DateTimeOffset, CancellationToken)

ValueTask<GuaranteedDeliveryLease<TPayload>?> TryLeaseAsync(TimeSpan leaseDuration, int maxDeliveryAttempts, DateTimeOffset now, CancellationToken cancellationToken = default)

Parameters

leaseDuration TimeSpan
maxDeliveryAttempts int
now DateTimeOffset
cancellationToken CancellationToken

Returns

ValueTask<GuaranteedDeliveryLease<TPayload>>