Class RecordedIntent
- Namespace
- Stratara.Abstractions.Outbox
- Assembly
- Stratara.Abstractions.dll
A recorded command as an ICommandIntentStore returns it for resumption.
[ExcludeFromCodeCoverage]
public sealed record RecordedIntent : IEquatable<RecordedIntent>
- Inheritance
-
RecordedIntent
- Implements
- Inherited Members
- Extension Methods
Constructors
RecordedIntent(Guid, CommandEnvelope, Guid?, bool, int, DateTimeOffset?, string?, bool, int)
A recorded command as an ICommandIntentStore returns it for resumption.
public RecordedIntent(Guid Id, CommandEnvelope Envelope, Guid? AggregateId, bool Heavy, int AttemptCount, DateTimeOffset? LastHandedOverAt, string? LastFailure, bool RecordedByTheExecutionModel = true, int ConflictCount = 0)
Parameters
IdGuidThe identity of the recorded command.
EnvelopeCommandEnvelopeThe serialised command and the session it was dispatched under.
AggregateIdGuid?The aggregate the command names, or null for one that names none.
HeavyboolWhether the command declared itself long-running.
AttemptCountintHow often it has been handed over since it was recorded or returned — the hand-over of its dispatch counted when it was recorded, by a store that counts it — less the attempts given back for a concurrency conflict or a stop.
LastHandedOverAtDateTimeOffset?When it was last handed over, or null if never.
LastFailurestringThe failure of its last attempt, if one was recorded.
RecordedByTheExecutionModelboolWhether the execution model wrote this record itself, rather than it being a command the bus outbox stored — a store may hold both during a rolling adoption, and only the model's own records carry the routing beside the envelope. Defaults to true.
ConflictCountintHow many of its attempts since it was recorded or returned ended in a concurrency conflict. Defaults to 0.
Properties
AggregateId
The aggregate the command names, or null for one that names none.
public Guid? AggregateId { get; init; }
Property Value
- Guid?
AttemptCount
How often it has been handed over since it was recorded or returned — the hand-over of its dispatch counted when it was recorded, by a store that counts it — less the attempts given back for a concurrency conflict or a stop.
public int AttemptCount { get; init; }
Property Value
ConflictCount
How many of its attempts since it was recorded or returned ended in a concurrency conflict. Defaults to 0.
public int ConflictCount { get; init; }
Property Value
Envelope
The serialised command and the session it was dispatched under.
public CommandEnvelope Envelope { get; init; }
Property Value
Heavy
Whether the command declared itself long-running.
public bool Heavy { get; init; }
Property Value
Id
The identity of the recorded command.
public Guid Id { get; init; }
Property Value
LastFailure
The failure of its last attempt, if one was recorded.
public string? LastFailure { get; init; }
Property Value
LastHandedOverAt
When it was last handed over, or null if never.
public DateTimeOffset? LastHandedOverAt { get; init; }
Property Value
RecordedByTheExecutionModel
Whether the execution model wrote this record itself, rather than it being a command the bus outbox stored — a store may hold both during a rolling adoption, and only the model's own records carry the routing beside the envelope. Defaults to true.
public bool RecordedByTheExecutionModel { get; init; }