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
requestGovernanceOutboxClaimRequestcancellationTokenCancellationToken
Returns
ClaimRetryReadyAsync(GovernanceOutboxClaimRequest, CancellationToken)
Claims retry-ready entries ordered for delivery.
ValueTask<IReadOnlyList<GovernanceOutboxClaim>> ClaimRetryReadyAsync(GovernanceOutboxClaimRequest request, CancellationToken cancellationToken = default)
Parameters
requestGovernanceOutboxClaimRequestcancellationTokenCancellationToken
Returns
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
claimGovernanceOutboxClaimgovernanceEmissionErrorGovernanceEmissionErrordeadLetterReasonstringcancellationTokenCancellationToken
Returns
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
claimGovernanceOutboxClaimresultGovernanceEmissionResultcancellationTokenCancellationToken
Returns
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
claimGovernanceOutboxClaimgovernanceEmissionErrorGovernanceEmissionErrornextRetryUtcDateTimeOffset?cancellationTokenCancellationToken
Returns
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
claimGovernanceOutboxClaimreasonstringcancellationTokenCancellationToken
Returns
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
claimGovernanceOutboxClaimentryGovernanceOutboxEntrycancellationTokenCancellationToken