IStreamStore Interface
Where a transmitter keeps its streams. The contract is deliberately a plain keyed store over immutable snapshots: the Management API owns the SSF semantics, the store owns nothing but persistence, and a durable implementation - a database in the host application - replaces the in-memory one without either side changing.
public interface IStreamStoreDerived
↳ ConfigurationStreamStore
↳ InMemoryStreamStore
Methods
IStreamStore.DeleteAsync(string, string, CancellationToken) Method
Deletes a stream (SSF 1.0 Section 8.1.1.5).
System.Threading.Tasks.Task<bool> DeleteAsync(string receiverId, string streamId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));Parameters
receiverId System.String
The receiver the stream belongs to.
streamId System.String
The stream's identifier.
cancellationToken System.Threading.CancellationToken
Cancels I/O a durable implementation performs.
Returns
System.Threading.Tasks.Task<System.Boolean>
True when deleted; false when no such stream existed.
IStreamStore.FindAsync(string, string, CancellationToken) Method
Finds one stream of one receiver.
System.Threading.Tasks.Task<Abblix.SharedSignals.Transmitter.StreamState?> FindAsync(string receiverId, string streamId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));Parameters
receiverId System.String
The receiver the stream belongs to.
streamId System.String
The stream's identifier.
cancellationToken System.Threading.CancellationToken
Cancels I/O a durable implementation performs.
Returns
System.Threading.Tasks.Task<StreamState>
The stream's state, or null when no such stream exists for this receiver.
IStreamStore.ListAllAsync(CancellationToken) Method
Lists every stream of every receiver - the dispatcher's view, since an event is matched against all streams at once.
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<Abblix.SharedSignals.Transmitter.StreamState>> ListAllAsync(System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));Parameters
cancellationToken System.Threading.CancellationToken
Cancels I/O a durable implementation performs.
Returns
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<StreamState>>
IStreamStore.ListAsync(string, CancellationToken) Method
Lists the streams of one receiver, for the list form of the configuration read (SSF 1.0 Section 8.1.1.2). An empty list is a receiver with no streams, never an error.
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<Abblix.SharedSignals.Transmitter.StreamState>> ListAsync(string receiverId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));Parameters
receiverId System.String
The receiver whose streams are listed.
cancellationToken System.Threading.CancellationToken
Cancels I/O a durable implementation performs.
Returns
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<StreamState>>
IStreamStore.TryCreateAsync(StreamState, CancellationToken) Method
Stores a new stream.
System.Threading.Tasks.Task<bool> TryCreateAsync(Abblix.SharedSignals.Transmitter.StreamState stream, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));Parameters
stream StreamState
The stream's initial state.
cancellationToken System.Threading.CancellationToken
Cancels I/O a durable implementation performs.
Returns
System.Threading.Tasks.Task<System.Boolean>
True when stored; false when a stream with the same receiver and identifier
already exists.
IStreamStore.UpdateAsync(StreamState, CancellationToken) Method
Replaces a stream's state with a new snapshot, keyed by its receiver and identifier.
System.Threading.Tasks.Task<bool> UpdateAsync(Abblix.SharedSignals.Transmitter.StreamState stream, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));Parameters
stream StreamState
The new state.
cancellationToken System.Threading.CancellationToken
Cancels I/O a durable implementation performs.
Returns
System.Threading.Tasks.Task<System.Boolean>
True when replaced; false when no such stream exists to replace.