Class OutboxEntry
- Namespace
- Stratara.Abstractions.Outbox
- Assembly
- Stratara.Abstractions.dll
Durable outbox row — persists a serialised payload (command envelope or event bundle) for later delivery by the outbox worker. Written by dispatchers when the direct bus publish fails.
[ExcludeFromCodeCoverage]
public sealed class OutboxEntry : IEntity, IBucket, IHasRowVersion
- Inheritance
-
OutboxEntry
- Implements
- Inherited Members
- Extension Methods
Properties
AggregateId
The aggregate the stored command names, recorded with it so resuming does not read the payload; null for a command that names none and for a bundle.
public Guid? AggregateId { get; set; }
Property Value
- Guid?
AttemptCount
How many times the entry has been handed over for execution since it was stored or returned — for a recorded command the hand-over of its dispatch is counted when it is stored — less the attempts given back for a concurrency conflict or a stop.
public int AttemptCount { get; set; }
Property Value
BucketId
The bucket index in [0, BucketCount).
public required int BucketId { get; set; }
Property Value
ConflictCount
How many of the entry's attempts since it was stored or returned ended in a concurrency conflict.
public int ConflictCount { get; set; }
Property Value
DataJson
The serialised payload as JSON.
public required string DataJson { get; set; }
Property Value
DataTypeName
Fully-qualified, version-independent type name of the payload — used by the worker to deserialise.
public required string DataTypeName { get; set; }
Property Value
Heavy
Whether the stored command declared itself long-running.
public bool Heavy { get; set; }
Property Value
Id
The entity's primary-key identifier.
public Guid Id { get; set; }
Property Value
KeptAt
When the entry was kept for an operator after its attempts ran out; null while it is still resumed.
public DateTimeOffset? KeptAt { get; set; }
Property Value
LastFailure
The failure of the last attempt, recorded when the entry is kept.
public string? LastFailure { get; set; }
Property Value
LastHandedOverAt
When the entry was last handed over for execution; null until it first is.
public DateTimeOffset? LastHandedOverAt { get; set; }
Property Value
RowVersion
Current row version as read from xmin. Set by EF Core on save.
public uint RowVersion { get; set; }
Property Value
Timestamp
When the entry was queued; recorded commands due together are resumed in the order of this time.
public DateTimeOffset Timestamp { get; set; }