MultiStreamController<T> class abstract interface

An enhanced stream controller provided by Stream.multi.

Acts like a normal asynchronous controller, but also allows adding events synchronously. As with any synchronous event delivery, the sender should be very careful to not deliver events at times when a new listener might not be ready to receive them. That usually means only delivering events synchronously in response to other asynchronous events, because that is a time when an asynchronous event could happen.

Implemented types
  • @Since("2.9")




done Future
A future which is completed when the stream controller is done sending events.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasListener bool
Whether there is a subscriber on the Stream.
no setterinherited
isClosed bool
Whether the stream controller is closed for adding more events.
no setterinherited
isPaused bool
Whether the subscription would need to buffer events.
no setterinherited
onCancel ↔ (FutureOr<void> Function()?)
The callback which is called when the stream is canceled.
getter/setter pairinherited
onListen ↔ (void Function()?)
The callback which is called when the stream is listened to.
getter/setter pairinherited
onPause ↔ (void Function()?)
The callback which is called when the stream is paused.
getter/setter pairinherited
onResume ↔ (void Function()?)
The callback which is called when the stream is resumed.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sink StreamSink<T>
Returns a view of this object that only exposes the StreamSink interface.
no setterinherited
stream Stream<T>
The stream that this controller is controlling.
no setterinherited


add(T event) → void
Sends a data event.
addError(Object error, [StackTrace? stackTrace]) → void
Sends or enqueues an error event.
addErrorSync(Object error, [StackTrace? stackTrace]) → void
Adds and delivers an error event.
addStream(Stream<T> source, {bool? cancelOnError}) Future
Receives events from source and puts them into this controller's stream.
addSync(T value) → void
Adds and delivers an event.
close() Future
Closes the stream.
closeSync() → void
Closes the controller and delivers a done event.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.