Table of Contents

Namespace Xapi.Client.Outbox

Classes

FileOutboxRecovery

What FileOutboxStore had to repair when it opened its journal.

FileOutboxStore

An OutboxStore that keeps the outbox in a directory, as an append-only journal that is flushed to disk (fsync) before each change is acknowledged.

InMemoryOutboxStore

An OutboxStore that keeps everything in memory. Queued Statements are lost when the process ends, so use it for tests, or where that is acceptable; use FileOutboxStore otherwise.

OutboxDeadLetter

A Statement the outbox gave up on, with the reason. Dead letters stay in the store until they are requeued (RequeueDeadLetterAsync(Guid, CancellationToken)) or removed (RemoveDeadLetterAsync(Guid, CancellationToken)).

OutboxDeadLetteredEventArgs

Data for DeadLettered.

OutboxDeliveredEventArgs

Data for Delivered.

OutboxDiagnostics

The names of the outbox's metrics. They are reported on the client's meter, MeterName (Xapi.Client), next to StatementsSent, which counts what the outbox delivers. The names are part of the public contract: they change only in a major release.

OutboxEntry

A Statement waiting in an outbox, with its delivery history.

OutboxFlushResult

What one FlushAsync(CancellationToken) did.

OutboxFullException

Thrown by EnqueueAsync(Statement, CancellationToken) when MaxQueueSize Statements are already waiting. The Statement was not stored.

OutboxOptions

Settings for StatementOutbox. The outbox copies them when it is created.

OutboxPausedEventArgs

Data for Paused.

OutboxStatus

A snapshot of an outbox: what it is doing, how much is waiting, and the last error.

OutboxStore

Where an outbox keeps its Statements: an ordered queue of pending entries, keyed by Statement id, and a set of dead letters.

StatementOutbox

A durable queue in front of an XapiClient: Statements are stored before EnqueueAsync(Statement, CancellationToken) returns, and delivered later, in order and in batches, by FlushAsync(CancellationToken) or by a background loop (RunAsync(CancellationToken)).

Enums

OutboxDeadLetterReason

Why a Statement was moved to the dead letters instead of being delivered.

OutboxState

What an outbox is doing.