get method
Next event, or null once the stream is closed and drained.
Implementation
Future<StreamEvent?> get() {
if (_items.isNotEmpty) {
return Future.value(_items.removeAt(0));
}
if (_closed) {
return Future.value(null);
}
final completer = Completer<StreamEvent?>();
_waiters.add(completer);
return completer.future;
}