Skip to content

StreamConfiguration Class

An Event Stream's configuration: the document both sides contribute to and the transmitter returns whole (SSF 1.0 Section 8.1.1). Each member's doc says who supplies it, because that decides who may change it - a receiver's update carries the receiver-supplied members, and a transmitter-supplied member it echoes back must match the expected value exactly, a mismatch earning a 400; only a MISSING transmitter-supplied member is ignored (SSF 1.0 Sections 8.1.1.3, 8.1.1.4).

C#
public sealed record StreamConfiguration : System.IEquatable<Abblix.SharedSignals.Model.StreamConfiguration>

Inheritance System.Object → StreamConfiguration

Implements System.IEquatable<StreamConfiguration>

Remarks

The members SSF 1.0 Section 8.1.1 marks REQUIRED are declared required: this type is the full document a transmitter serializes and a receiver reads back as a client, so a copy missing one of them is malformed in either direction. The receiver-supplied subset a create or update request carries is a different, smaller shape and is not this type.

Properties

StreamConfiguration.Audiences Property

Transmitter-supplied, REQUIRED. The audience identifying the stream's receiver(s), a string or an array of strings as the JWT "aud" claim defines it; never updated after creation (SSF 1.0 Section 8.1.1). A single audience travels as a bare string, either form reads back as the array.

C#
public string[] Audiences { get; init; }

Property Value

System.String[]

StreamConfiguration.Delivery Property

REQUIRED. How SETs travel over this stream, dispatched on the "method" member (SSF 1.0 Sections 8.1.1, 6.1). The one member both sides contribute to: the receiver proposes it at creation, and for poll delivery the transmitter supplies the endpoint URL.

C#
public Abblix.SharedSignals.Model.Delivery.StreamDeliveryMethod Delivery { get; init; }

Property Value

StreamDeliveryMethod

StreamConfiguration.Description Property

Receiver-supplied, OPTIONAL. A human-readable description of the stream, useful in multi-stream systems; the transmitter may truncate it (SSF 1.0 Section 8.1.1).

C#
public string? Description { get; init; }

Property Value

System.String

StreamConfiguration.EventsDelivered Property

Transmitter-supplied, REQUIRED. The event types the transmitter must include in the stream: a subset of the intersection of the supported and requested sets, and the one field a receiver relies on to know what to expect (SSF 1.0 Section 8.1.1).

C#
public System.Collections.Generic.IReadOnlyList<string> EventsDelivered { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<System.String>

StreamConfiguration.EventsRequested Property

Receiver-supplied, OPTIONAL. The event types the receiver asked for - only ones it understands and can act on; the transmitter ignores values it does not understand (SSF 1.0 Section 8.1.1).

C#
public System.Collections.Generic.IReadOnlyList<string>? EventsRequested { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<System.String>

StreamConfiguration.EventsSupported Property

Transmitter-supplied, OPTIONAL. The event types the transmitter supports for this receiver; absent means the set is published some other way, such as documentation (SSF 1.0 Section 8.1.1).

C#
public System.Collections.Generic.IReadOnlyList<string>? EventsSupported { get; init; }

Property Value

System.Collections.Generic.IReadOnlyList<System.String>

StreamConfiguration.InactivityTimeout Property

Transmitter-supplied, OPTIONAL. The stream's refreshable inactivity timeout, carried as an integer number of seconds. After it passes with no eligible receiver activity the transmitter may pause, disable or delete the stream, announcing a pause or disable through a Stream Updated Event (SSF 1.0 Section 8.1.1).

C#
public System.Nullable<System.TimeSpan> InactivityTimeout { get; init; }

Property Value

System.Nullable<System.TimeSpan>

StreamConfiguration.Issuer Property

Transmitter-supplied, REQUIRED. The transmitter's issuer identifier: an https URL with no query or fragment, identical to the "iss" claim of every SET issued from this transmitter - and the value a receiver must confirm matches the issuer it discovered the transmitter through (SSF 1.0 Sections 8.1.1, 8.1.1.1).

C#
public string Issuer { get; init; }

Property Value

System.String

StreamConfiguration.MinVerificationInterval Property

Transmitter-supplied, OPTIONAL. The minimum time between verification requests, carried as an integer number of seconds; requesting more often may earn a 429 (SSF 1.0 Sections 8.1.1, 8.1.4.2).

C#
public System.Nullable<System.TimeSpan> MinVerificationInterval { get; init; }

Property Value

System.Nullable<System.TimeSpan>

StreamConfiguration.StreamId Property

Transmitter-supplied, REQUIRED. The string that uniquely identifies the stream, generated by the transmitter at stream creation (SSF 1.0 Section 8.1.1).

C#
public string StreamId { get; init; }

Property Value

System.String