controller<T> method
Creates a StreamController that is closed within dispose.
Set broadcast
to true if you need a
broadcasting controller as in StreamController.broadcast.
Implementation
StreamController<T> controller<T>(
{bool broadcast = false, FutureOr<void> Function()? onCancel /*?*/
}) {
StreamController<T> ret;
_sanity();
if (broadcast) {
ret = ControlledStreamController<T>.broadcast(onCancel: onCancel);
} else {
ret = ControlledStreamController<T>(onCancel: onCancel);
}
ret.done.then((ev) => _ctrls.remove(ret));
_ctrls.add(ret);
return ret;
}