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

## ConfigurationStreamStore Class

The stream store of a closed deployment: the stream set is the operator's file rather than
something receivers create over the network\. Right where the receivers are the operator's own
products \- known in advance, changed by editing configuration\.

```csharp
public sealed class ConfigurationStreamStore : Abblix.SharedSignals.Transmitter.IStreamStore
```

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

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

### Remarks

Two things own a stream, and this store keeps them apart. The FILE owns what the stream is -
the receiver, the identifier, the audiences, the events, the delivery endpoint, the subjects
mode - and the RECEIVER owns what it has since done through the management API: the status it
set (SSF 1.0 Section 8.1.2), the subjects it added and removed (Section 8.1.3), and when it
last asked for verification (Section 8.1.4.2). The store reconciles the two against a backing
store: declared fields are written from the file, receiver-owned fields are carried over from
whatever is already there.

That split is what makes the file editable and the API meaningful at the same time. Rebuilding
the whole state from the file instead - the obvious reading of "configuration is truth" - looks
harmless and is not: under [None](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamSubjectsMode#Abblix.SharedSignals.Transmitter.StreamSubjectsMode.None 'Abblix\.SharedSignals\.Transmitter\.StreamSubjectsMode\.None') the subjects a receiver added
ARE the stream's coverage, so it would silently unsubscribe the receiver from everything it
subscribed to, and Section 9.1 tells that receiver a success says nothing about the
transmitter's state, so it never asks and never finds out.

A stream in the backing store that the file no longer declares is deleted, because in this
store the file IS the stream set: leaving it would keep delivering security events to a
receiver the operator removed, which is the failure that matters of the two directions.

Which backing store it is decides how far the receiver-owned half reaches. The default is in
memory, which is right for one instance; a transmitter running several takes a shared one, or a
receiver's pause is honoured by whichever instance took the request while the rest keep
delivering - and since the delivery claim moves between instances from pass to pass, the pause
appears to be respected intermittently rather than not at all, which is the harder shape to
diagnose.
### Constructors

## ConfigurationStreamStore\(SharedSignalsTransmitterOptions, PollEndpointLocator, IReadOnlyList\<ConfiguredStream\>, IStreamStore\) Constructor {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore)}

Materializes the configured streams: the transmitter's half \- issuer, supported and
delivered sets \- comes from [options](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.ConfigurationStreamStore#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore).options 'Abblix\.SharedSignals\.Transmitter\.ConfigurationStreamStore\.ConfigurationStreamStore\(Abblix\.SharedSignals\.Transmitter\.SharedSignalsTransmitterOptions, Abblix\.SharedSignals\.Transmitter\.PollEndpointLocator, System\.Collections\.Generic\.IReadOnlyList\<Abblix\.SharedSignals\.Transmitter\.ConfiguredStream\>, Abblix\.SharedSignals\.Transmitter\.IStreamStore\)\.options'), and the poll endpoint from
[pollEndpoints](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.ConfigurationStreamStore#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore).pollEndpoints 'Abblix\.SharedSignals\.Transmitter\.ConfigurationStreamStore\.ConfigurationStreamStore\(Abblix\.SharedSignals\.Transmitter\.SharedSignalsTransmitterOptions, Abblix\.SharedSignals\.Transmitter\.PollEndpointLocator, System\.Collections\.Generic\.IReadOnlyList\<Abblix\.SharedSignals\.Transmitter\.ConfiguredStream\>, Abblix\.SharedSignals\.Transmitter\.IStreamStore\)\.pollEndpoints'), exactly as the dynamic create would supply them\.

```csharp
public ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions options, Abblix.SharedSignals.Transmitter.PollEndpointLocator pollEndpoints, System.Collections.Generic.IReadOnlyList<Abblix.SharedSignals.Transmitter.ConfiguredStream> streams, Abblix.SharedSignals.Transmitter.IStreamStore backingStore);
```
#### Parameters

###### `options` [SharedSignalsTransmitterOptions](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions 'Abblix\.SharedSignals\.Transmitter\.SharedSignalsTransmitterOptions') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore).options}

The deployment's one\-time decisions\.

###### `pollEndpoints` [PollEndpointLocator](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.PollEndpointLocator 'Abblix\.SharedSignals\.Transmitter\.PollEndpointLocator') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore).pollEndpoints}

Where a declared poll stream is polled\.

###### `streams` [System\.Collections\.Generic\.IReadOnlyList&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`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.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore).streams}

The declared streams\.

###### `backingStore` [IStreamStore](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore 'Abblix\.SharedSignals\.Transmitter\.IStreamStore') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ConfigurationStreamStore(Abblix.SharedSignals.Transmitter.SharedSignalsTransmitterOptions,Abblix.SharedSignals.Transmitter.PollEndpointLocator,System.Collections.Generic.IReadOnlyList_Abblix.SharedSignals.Transmitter.ConfiguredStream_,Abblix.SharedSignals.Transmitter.IStreamStore).backingStore}

Where the reconciled streams live\. In memory unless the deployment supplies a shared one,
which is what carries the receiver\-owned half between instances\.

#### Exceptions

[System\.InvalidOperationException](https://learn.microsoft.com/en-us/dotnet/api/system.invalidoperationexception 'System\.InvalidOperationException')  
Two declarations share a receiver and stream identifier, or a poll stream is declared on
a transmitter that offers no poll delivery \- configuration bugs, refused loudly at
startup rather than surfacing as a broken stream later\.
### Methods

## ConfigurationStreamStore\.DeleteAsync\(string, string, CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.DeleteAsync(string,string,System.Threading.CancellationToken)}

Deletes a stream \(SSF 1\.0 Section 8\.1\.1\.5\)\.

```csharp
public System.Threading.Tasks.Task<bool> DeleteAsync(string receiverId, string streamId, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `receiverId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.DeleteAsync(string,string,System.Threading.CancellationToken).receiverId}

The receiver the stream belongs to\.

###### `streamId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.DeleteAsync(string,string,System.Threading.CancellationToken).streamId}

The stream's identifier\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.DeleteAsync(string,string,System.Threading.CancellationToken).cancellationToken}

Cancels I/O a durable implementation performs\.

Implements [DeleteAsync\(string, string, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore#Abblix.SharedSignals.Transmitter.IStreamStore.DeleteAsync(string,string,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Transmitter\.IStreamStore\.DeleteAsync\(string, string, System\.Threading\.CancellationToken\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
True when deleted; false when no such stream existed\.

## ConfigurationStreamStore\.FindAsync\(string, string, CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.FindAsync(string,string,System.Threading.CancellationToken)}

Finds one stream of one receiver\.

```csharp
public 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](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.FindAsync(string,string,System.Threading.CancellationToken).receiverId}

The receiver the stream belongs to\.

###### `streamId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.FindAsync(string,string,System.Threading.CancellationToken).streamId}

The stream's identifier\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.FindAsync(string,string,System.Threading.CancellationToken).cancellationToken}

Cancels I/O a durable implementation performs\.

Implements [FindAsync\(string, string, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore#Abblix.SharedSignals.Transmitter.IStreamStore.FindAsync(string,string,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Transmitter\.IStreamStore\.FindAsync\(string, string, System\.Threading\.CancellationToken\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[StreamState](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamState 'Abblix\.SharedSignals\.Transmitter\.StreamState')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The stream's state, or null when no such stream exists for this receiver\.

## ConfigurationStreamStore\.ListAllAsync\(CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ListAllAsync(System.Threading.CancellationToken)}

Lists every stream of every receiver \- the dispatcher's view, since an event is matched
against all streams at once\.

```csharp
public 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](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ListAllAsync(System.Threading.CancellationToken).cancellationToken}

Cancels I/O a durable implementation performs\.

Implements [ListAllAsync\(CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore#Abblix.SharedSignals.Transmitter.IStreamStore.ListAllAsync(System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Transmitter\.IStreamStore\.ListAllAsync\(System\.Threading\.CancellationToken\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.IReadOnlyList&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[StreamState](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamState 'Abblix\.SharedSignals\.Transmitter\.StreamState')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')

## ConfigurationStreamStore\.ListAsync\(string, CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ListAsync(string,System.Threading.CancellationToken)}

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

```csharp
public 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](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ListAsync(string,System.Threading.CancellationToken).receiverId}

The receiver whose streams are listed\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.ListAsync(string,System.Threading.CancellationToken).cancellationToken}

Cancels I/O a durable implementation performs\.

Implements [ListAsync\(string, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore#Abblix.SharedSignals.Transmitter.IStreamStore.ListAsync(string,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Transmitter\.IStreamStore\.ListAsync\(string, System\.Threading\.CancellationToken\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Collections\.Generic\.IReadOnlyList&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[StreamState](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamState 'Abblix\.SharedSignals\.Transmitter\.StreamState')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')

## ConfigurationStreamStore\.TryCreateAsync\(StreamState, CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.TryCreateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken)}

Stores a new stream\.

```csharp
public System.Threading.Tasks.Task<bool> TryCreateAsync(Abblix.SharedSignals.Transmitter.StreamState stream, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `stream` [StreamState](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamState 'Abblix\.SharedSignals\.Transmitter\.StreamState') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.TryCreateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken).stream}

The stream's initial state\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.TryCreateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken).cancellationToken}

Cancels I/O a durable implementation performs\.

Implements [TryCreateAsync\(StreamState, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore#Abblix.SharedSignals.Transmitter.IStreamStore.TryCreateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Transmitter\.IStreamStore\.TryCreateAsync\(Abblix\.SharedSignals\.Transmitter\.StreamState, System\.Threading\.CancellationToken\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
True when stored; false when a stream with the same receiver and identifier
            already exists\.

## ConfigurationStreamStore\.UpdateAsync\(StreamState, CancellationToken\) Method {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.UpdateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken)}

Replaces a stream's state with a new snapshot, keyed by its receiver and identifier\.

```csharp
public System.Threading.Tasks.Task<bool> UpdateAsync(Abblix.SharedSignals.Transmitter.StreamState stream, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));
```
#### Parameters

###### `stream` [StreamState](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.StreamState 'Abblix\.SharedSignals\.Transmitter\.StreamState') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.UpdateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken).stream}

The new state\.

###### `cancellationToken` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken') {#Abblix.SharedSignals.Transmitter.ConfigurationStreamStore.UpdateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken).cancellationToken}

Cancels I/O a durable implementation performs\.

Implements [UpdateAsync\(StreamState, CancellationToken\)](https://www.abblix.com/en/docs/api/abblix-sharedsignals/Abblix.SharedSignals.Transmitter.IStreamStore#Abblix.SharedSignals.Transmitter.IStreamStore.UpdateAsync(Abblix.SharedSignals.Transmitter.StreamState,System.Threading.CancellationToken) 'Abblix\.SharedSignals\.Transmitter\.IStreamStore\.UpdateAsync\(Abblix\.SharedSignals\.Transmitter\.StreamState, System\.Threading\.CancellationToken\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
True when replaced; false when no such stream exists to replace\.
