Skip to content

OutboxItem Class

One SET waiting in a stream's outbox: minted, signed, addressed - everything but delivered.

C#
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.

C#
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.

C#
public string CompactToken { get; init; }

Property Value

System.String

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.

C#
public bool IsStatusAnnouncement { get; init; }

Property Value

System.Boolean

OutboxItem.JwtId Property

The token's "jti", the identifier acknowledgements and error reports use (RFC 8936 Section 2.2).

C#
public string JwtId { get; init; }

Property Value

System.String