Skip to main content
Table of Contents

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

Id Guid

The identity of the recorded command.

Envelope CommandEnvelope

The serialised command and the session it was dispatched under.

AggregateId Guid?

The aggregate the command names, or null for one that names none.

Heavy bool

Whether the command declared itself long-running.

AttemptCount int

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.

LastHandedOverAt DateTimeOffset?

When it was last handed over, or null if never.

LastFailure string

The failure of its last attempt, if one was recorded.

RecordedByTheExecutionModel bool

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.

ConflictCount int

How 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

int

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

int

Envelope

The serialised command and the session it was dispatched under.

public CommandEnvelope Envelope { get; init; }

Property Value

CommandEnvelope

Heavy

Whether the command declared itself long-running.

public bool Heavy { get; init; }

Property Value

bool

Id

The identity of the recorded command.

public Guid Id { get; init; }

Property Value

Guid

LastFailure

The failure of its last attempt, if one was recorded.

public string? LastFailure { get; init; }

Property Value

string

LastHandedOverAt

When it was last handed over, or null if never.

public DateTimeOffset? LastHandedOverAt { get; init; }

Property Value

DateTimeOffset?

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; }

Property Value

bool