#### [Abblix\.SharedSignals](https://www.abblix.com/en/docs/api/abblix-sharedsignals 'index')
### [Abblix\.SharedSignals\.Transmitter](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter 'Abblix\.SharedSignals\.Transmitter')

## OutboxItem Class

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

```csharp
public sealed record OutboxItem : System.IEquatable<Abblix.SharedSignals.Transmitter.OutboxItem>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → OutboxItem

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[OutboxItem](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.OutboxItem 'Abblix\.SharedSignals\.Transmitter\.OutboxItem')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')

### Remarks
The JSON member names are pinned rather than left to the property names, because a durable
[IEventOutbox](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IEventOutbox 'Abblix\.SharedSignals\.Transmitter\.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 {#Abblix.SharedSignals.Transmitter.OutboxItem.OutboxItem(string,string,bool)}

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

```csharp
public OutboxItem(string JwtId, string CompactToken, bool IsStatusAnnouncement=false);
```
#### Parameters

###### `JwtId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.OutboxItem.OutboxItem(string,string,bool).JwtId}

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

###### `CompactToken` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.OutboxItem.OutboxItem(string,string,bool).CompactToken}

The signed token in compact serialization, exactly as it will
            travel\.

###### `IsStatusAnnouncement` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') {#Abblix.SharedSignals.Transmitter.OutboxItem.OutboxItem(string,string,bool).IsStatusAnnouncement}

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](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IEventOutbox 'Abblix\.SharedSignals\.Transmitter\.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 {#Abblix.SharedSignals.Transmitter.OutboxItem.CompactToken}

The signed token in compact serialization, exactly as it will
            travel\.

```csharp
public string CompactToken { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## OutboxItem\.IsStatusAnnouncement Property {#Abblix.SharedSignals.Transmitter.OutboxItem.IsStatusAnnouncement}

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\.

```csharp
public bool IsStatusAnnouncement { get; init; }
```

#### Property Value
[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')

## OutboxItem\.JwtId Property {#Abblix.SharedSignals.Transmitter.OutboxItem.JwtId}

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

```csharp
public string JwtId { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')
