Table of Contents

Interface IAsiBackboneGovernanceOutboxClaimStore

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

Defines an opt-in claim-capable governance outbox store for coordinated multi-worker emission.

public interface IAsiBackboneGovernanceOutboxClaimStore : IAsiBackboneGovernanceOutboxStore
Inherited Members

Remarks

This contract is additive to IAsiBackboneGovernanceOutboxStore. Hosts opt in when scaled workers need to claim a lease before provider emission. Claim support reduces duplicate selection risk for cooperating workers, but it does not create exactly-once provider delivery. Claim-aware implementations may recover from optimistic-concurrency races or expose explicit transition outcomes; callers should use the outcome-aware contract when they must know whether the current invocation applied the durable transition.

Methods

ClaimPendingAsync(GovernanceOutboxClaimRequest, CancellationToken)

Claims pending entries ordered for delivery.

ValueTask<IReadOnlyList<GovernanceOutboxClaim>> ClaimPendingAsync(GovernanceOutboxClaimRequest request, CancellationToken cancellationToken = default)

Parameters

request GovernanceOutboxClaimRequest
cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyList<GovernanceOutboxClaim>>

ClaimRetryReadyAsync(GovernanceOutboxClaimRequest, CancellationToken)

Claims retry-ready entries ordered for delivery.

ValueTask<IReadOnlyList<GovernanceOutboxClaim>> ClaimRetryReadyAsync(GovernanceOutboxClaimRequest request, CancellationToken cancellationToken = default)

Parameters

request GovernanceOutboxClaimRequest
cancellationToken CancellationToken

Returns

ValueTask<IReadOnlyList<GovernanceOutboxClaim>>

MarkClaimDeadLetteredAsync(GovernanceOutboxClaim, GovernanceEmissionError, string?, CancellationToken)

Completes a claimed entry as dead-lettered when the claim token still matches.

ValueTask<GovernanceOutboxEntry> MarkClaimDeadLetteredAsync(GovernanceOutboxClaim claim, GovernanceEmissionError governanceEmissionError, string? deadLetterReason = null, CancellationToken cancellationToken = default)

Parameters

claim GovernanceOutboxClaim
governanceEmissionError GovernanceEmissionError
deadLetterReason string
cancellationToken CancellationToken

Returns

ValueTask<GovernanceOutboxEntry>

MarkClaimDeliveredAsync(GovernanceOutboxClaim, GovernanceEmissionResult, CancellationToken)

Completes a claimed entry as delivered when the claim token still matches.

ValueTask<GovernanceOutboxEntry> MarkClaimDeliveredAsync(GovernanceOutboxClaim claim, GovernanceEmissionResult result, CancellationToken cancellationToken = default)

Parameters

claim GovernanceOutboxClaim
result GovernanceEmissionResult
cancellationToken CancellationToken

Returns

ValueTask<GovernanceOutboxEntry>

MarkClaimFailedAsync(GovernanceOutboxClaim, GovernanceEmissionError, DateTimeOffset?, CancellationToken)

Completes a claimed entry as failed or retryable failed when the claim token still matches.

ValueTask<GovernanceOutboxEntry> MarkClaimFailedAsync(GovernanceOutboxClaim claim, GovernanceEmissionError governanceEmissionError, DateTimeOffset? nextRetryUtc = null, CancellationToken cancellationToken = default)

Parameters

claim GovernanceOutboxClaim
governanceEmissionError GovernanceEmissionError
nextRetryUtc DateTimeOffset?
cancellationToken CancellationToken

Returns

ValueTask<GovernanceOutboxEntry>

ReleaseClaimAsync(GovernanceOutboxClaim, string?, CancellationToken)

Releases a claim without changing provider emission state when the claim token still matches.

ValueTask<GovernanceOutboxEntry?> ReleaseClaimAsync(GovernanceOutboxClaim claim, string? reason = null, CancellationToken cancellationToken = default)

Parameters

claim GovernanceOutboxClaim
reason string
cancellationToken CancellationToken

Returns

ValueTask<GovernanceOutboxEntry>

SaveClaimAsync(GovernanceOutboxClaim, GovernanceOutboxEntry, CancellationToken)

Saves a claimed entry transition, such as provider-directed deferred state, when the claim token still matches.

ValueTask<GovernanceOutboxEntry> SaveClaimAsync(GovernanceOutboxClaim claim, GovernanceOutboxEntry entry, CancellationToken cancellationToken = default)

Parameters

claim GovernanceOutboxClaim
entry GovernanceOutboxEntry
cancellationToken CancellationToken

Returns

ValueTask<GovernanceOutboxEntry>