Table of Contents

Class GuaranteedDeliveryQueue<TPayload>

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

Durable queue facade for the Guaranteed Delivery enterprise integration pattern.

public sealed class GuaranteedDeliveryQueue<TPayload>

Type Parameters

TPayload
Inheritance
GuaranteedDeliveryQueue<TPayload>
Inherited Members

Properties

LeaseDuration

public TimeSpan LeaseDuration { get; }

Property Value

TimeSpan

MaxDeliveryAttempts

public int MaxDeliveryAttempts { get; }

Property Value

int

Name

public string Name { get; }

Property Value

string

Methods

AcknowledgeAsync(GuaranteedDeliveryLease<TPayload>, CancellationToken)

public ValueTask AcknowledgeAsync(GuaranteedDeliveryLease<TPayload> lease, CancellationToken cancellationToken = default)

Parameters

lease GuaranteedDeliveryLease<TPayload>
cancellationToken CancellationToken

Returns

ValueTask

Create(IGuaranteedDeliveryStore<TPayload>)

public static GuaranteedDeliveryQueue<TPayload>.Builder Create(IGuaranteedDeliveryStore<TPayload> store)

Parameters

store IGuaranteedDeliveryStore<TPayload>

Returns

GuaranteedDeliveryQueue<TPayload>.Builder

DeadLetterAsync(GuaranteedDeliveryLease<TPayload>, string?, CancellationToken)

public ValueTask DeadLetterAsync(GuaranteedDeliveryLease<TPayload> lease, string? error = null, CancellationToken cancellationToken = default)

Parameters

lease GuaranteedDeliveryLease<TPayload>
error string
cancellationToken CancellationToken

Returns

ValueTask

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

public 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(GuaranteedDeliveryLease<TPayload>, string?, CancellationToken)

public ValueTask ReleaseAsync(GuaranteedDeliveryLease<TPayload> lease, string? error = null, CancellationToken cancellationToken = default)

Parameters

lease GuaranteedDeliveryLease<TPayload>
error string
cancellationToken CancellationToken

Returns

ValueTask

SnapshotAsync(CancellationToken)

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

Parameters

cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyList<GuaranteedDeliveryRecord<TPayload>>>

TryReceiveAsync(CancellationToken)

public ValueTask<GuaranteedDeliveryLease<TPayload>?> TryReceiveAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask<GuaranteedDeliveryLease<TPayload>>