#### [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')

## ConfiguredStream Class

One stream as a closed deployment declares it: the shape a first\-party transmitter binds
from configuration when its receivers are its own products, known at deploy time and
provisioned by the same operator on both sides\. The members are deliberately
binder\-friendly \- strings, arrays, a URL \- so the whole stream set can live in the host's
configuration\.

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

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

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

## ConfiguredStream\.Audiences Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.Audiences}

The "aud" of the stream's SETs; empty uses the receiver identity itself, the default the
dynamic path also takes \(SSF 1\.0 Section 4\.1\.8\)\.

```csharp
public string[] Audiences { get; init; }
```

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

## ConfiguredStream\.Description Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.Description}

A human\-readable description of the stream \(SSF 1\.0 Section 8\.1\.1\)\.

```csharp
public string? Description { get; init; }
```

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

## ConfiguredStream\.EventsRequested Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.EventsRequested}

The event types the receiver wants; what the stream carries is the intersection with the
transmitter's supported set \(SSF 1\.0 Section 8\.1\.1\)\.

```csharp
public string[] EventsRequested { get; init; }
```

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

## ConfiguredStream\.PushAuthorizationHeader Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.PushAuthorizationHeader}

The whole Authorization header line the transmitter sends with every push
\(SSF 1\.0 Section 6\.1\.1\)\. A secret: in a deployment it arrives through the host's secret
mechanism \- an environment variable mounted from a secret store \- never as plaintext in
a settings file\.

```csharp
public string? PushAuthorizationHeader { get; init; }
```

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

## ConfiguredStream\.PushEndpointUrl Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.PushEndpointUrl}

The receiver's push endpoint; set makes the stream push\-delivered, absent makes it poll
over the transmitter's own endpoint \(SSF 1\.0 Section 6\.1\)\.

```csharp
public System.Uri? PushEndpointUrl { get; init; }
```

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

## ConfiguredStream\.ReceiverId Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.ReceiverId}

The receiver identity the stream belongs to, matching what the host's authentication
yields for that receiver's management and poll calls\.

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

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

### Remarks
`required` binds the host that writes these in code and nothing else: the
            configuration binder does not honour it, so a settings file omitting this member produces
            null here without complaint\. The guarantee is restored where the declarations are read \-
            [ConfigurationStreamStore](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.ConfigurationStreamStore 'Abblix\.SharedSignals\.Transmitter\.ConfigurationStreamStore') refuses a stream missing either identifier \- and the
            marker is kept because it still catches the code\-first half at compile time\.

## ConfiguredStream\.StreamId Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.StreamId}

The stream's identifier\. Fixed by configuration rather than generated, so both sides of
a first\-party pair can name it in their own settings\.

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

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

## ConfiguredStream\.SubjectsMode Property {#Abblix.SharedSignals.Transmitter.ConfiguredStream.SubjectsMode}

Which subjects the stream covers\. The default here is [All](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamSubjectsMode#Abblix.SharedSignals.Transmitter.StreamSubjectsMode.All 'Abblix\.SharedSignals\.Transmitter\.StreamSubjectsMode\.All'),
the opposite of the dynamic path's conservative NONE \- a first\-party receiver is
provisioned to hear everything, and per\-subject bookkeeping is exactly what a static
deployment does without\.

```csharp
public Abblix.SharedSignals.Transmitter.StreamSubjectsMode SubjectsMode { get; init; }
```

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