OutboxItem Class
One SET waiting in a stream's outbox: minted, signed, addressed - everything but delivered.
public sealed record OutboxItem : System.IEquatable<Abblix.SharedSignals.Transmitter.OutboxItem>Inheritance System.Object → OutboxItem
Implements System.IEquatable<OutboxItem>
Remarks
The JSON member names are pinned rather than left to the property names, because a durable IEventOutbox persists this type and the two ends of that store are two code versions across a rolling deploy. Without them a rename - or a serializer configured with a naming policy - reads every stored item back with null members instead of failing, and a null identifier is the one shape that can be served and never acknowledged.
Constructors
OutboxItem(string, string, bool) Constructor
One SET waiting in a stream's outbox: minted, signed, addressed - everything but delivered.
public OutboxItem(string JwtId, string CompactToken, bool IsStatusAnnouncement=false);Parameters
JwtId System.String
The token's "jti", the identifier acknowledgements and error reports use (RFC 8936 Section 2.2).
CompactToken System.String
The signed token in compact serialization, exactly as it will travel.
IsStatusAnnouncement System.Boolean
True for the stream-updated event that escorts a transmitter-initiated status change: the one item delivery must carry even over a stream that is paused or disabled, because SSF 1.0 Section 8.1.5 wants it sent "before stopping the stream" - and the stop has, by the time delivery runs, already happened.
Remarks
The JSON member names are pinned rather than left to the property names, because a durable IEventOutbox persists this type and the two ends of that store are two code versions across a rolling deploy. Without them a rename - or a serializer configured with a naming policy - reads every stored item back with null members instead of failing, and a null identifier is the one shape that can be served and never acknowledged.
Properties
OutboxItem.CompactToken Property
The signed token in compact serialization, exactly as it will travel.
public string CompactToken { get; init; }Property Value
OutboxItem.IsStatusAnnouncement Property
True for the stream-updated event that escorts a transmitter-initiated status change: the one item delivery must carry even over a stream that is paused or disabled, because SSF 1.0 Section 8.1.5 wants it sent "before stopping the stream" - and the stop has, by the time delivery runs, already happened.
public bool IsStatusAnnouncement { get; init; }Property Value
OutboxItem.JwtId Property
The token's "jti", the identifier acknowledgements and error reports use (RFC 8936 Section 2.2).
public string JwtId { get; init; }