A class that splits a single source stream into an arbitrary number of (single-subscription) streams (called "branch") that emit the same events.
Each branch will emit all the same values and errors as the source stream, regardless of which values have been emitted on other branches. This means that the splitter stores every event that has been emitted so far, which may consume a lot of memory. The user can call close to indicate that no more branches will be created, and this memory will be released.
The source stream is only listened to once a branch is created and listened to. It's paused when all branches are paused or when all branches are canceled, and resumed once there's at least one branch that's listening and unpaused. It's not canceled unless no branches are listening and close has been called.
) → Future
- Indicates that no more branches will be requested via split. [...]
Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
) → Stream< T>
- Returns a single-subscription stream that's a copy of the input stream. [...]
) → String
Returns a string representation of this object.