Table of Contents

Class AsiBackboneGovernanceOutboxDrain

Namespace
AsiBackbone.Core.Outbox
Assembly
AsiBackbone.Core.dll

Drains provider-neutral governance outbox entries through a configured governance emitter.

public sealed class AsiBackboneGovernanceOutboxDrain
Inheritance
AsiBackboneGovernanceOutboxDrain
Inherited Members

Remarks

This drain path is provider-neutral. It is suitable for tests, samples, local validation, and host-owned workers that need to hand persisted outbox entries to an optional downstream emitter without coupling Core to a provider SDK.

Constructors

AsiBackboneGovernanceOutboxDrain(IAsiBackboneGovernanceOutboxStore, IAsiBackboneGovernanceEmitter, ILogger<AsiBackboneGovernanceOutboxDrain>?, IOptions<AsiBackboneGovernanceOutboxOptions>?)

Drains provider-neutral governance outbox entries through a configured governance emitter.

public AsiBackboneGovernanceOutboxDrain(IAsiBackboneGovernanceOutboxStore outboxStore, IAsiBackboneGovernanceEmitter emitter, ILogger<AsiBackboneGovernanceOutboxDrain>? logger = null, IOptions<AsiBackboneGovernanceOutboxOptions>? outboxOptions = null)

Parameters

outboxStore IAsiBackboneGovernanceOutboxStore

The provider-neutral outbox store.

emitter IAsiBackboneGovernanceEmitter

The provider-neutral governance emitter.

logger ILogger<AsiBackboneGovernanceOutboxDrain>

The logger used to record local operational diagnostics for drain failures.

outboxOptions IOptions<AsiBackboneGovernanceOutboxOptions>

The provider-neutral retry timing options used by the drain.

Remarks

This drain path is provider-neutral. It is suitable for tests, samples, local validation, and host-owned workers that need to hand persisted outbox entries to an optional downstream emitter without coupling Core to a provider SDK.

Methods

DrainAsync(DateTimeOffset?, int, CancellationToken)

Drains pending and retry-ready outbox entries through the configured emitter.

public ValueTask<IReadOnlyList<GovernanceOutboxEntry>> DrainAsync(DateTimeOffset? utcNow = null, int maxCount = 100, CancellationToken cancellationToken = default)

Parameters

utcNow DateTimeOffset?

The UTC timestamp used for retry-ready checks.

maxCount int

The maximum number of entries to drain.

cancellationToken CancellationToken

A cancellation token.

Returns

ValueTask<IReadOnlyList<GovernanceOutboxEntry>>

The updated outbox entries that were attempted by the drain.