StreamController<T> class

A controller with the stream it controls.

This controller allows sending data, error and done events on its stream. This class can be used to create a simple stream that others can listen on, and to push events to that stream.

It's possible to check whether the stream is paused or not, and whether it has subscribers or not, as well as getting a callback when either of these change.

Implemented by


StreamController({void onListen(), void onPause(), void onResume(), dynamic onCancel(), bool sync: false })
A controller with a stream that supports only one single subscriber. [...]
StreamController.broadcast({void onListen(), void onCancel(), bool sync: false })
A controller where stream can be listened to more than once. [...]


hasListener bool
Whether there is a subscriber on the Stream.
isClosed bool
Whether the stream controller is closed for adding more events. [...]
isPaused bool
Whether the subscription would need to buffer events. [...]
onCancel ControllerCancelCallback
The callback which is called when the stream is canceled. [...]
read / write
onListen ControllerCallback
The callback which is called when the stream is listened to. [...]
read / write
onPause ControllerCallback
The callback which is called when the stream is paused. [...]
read / write
onResume ControllerCallback
The callback which is called when the stream is resumed. [...]
read / write
sink StreamSink<T>
Returns a view of this object that only exposes the StreamSink interface.
stream Stream<T>
The stream that this controller is controlling.
done Future
Return a future which is completed when the StreamSink is finished. [...]
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


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


operator ==(dynamic other) bool
The equality operator. [...]