drain method

List<T> drain()

Returns and consumes all events this reader has not yet seen.

Allocates the returned list; prefer forEach in per-frame systems.

Implementation

List<T> drain() {
  final channel = _activeChannel;
  final from = _cursor - channel._base;
  final start = from < 0 ? 0 : from;
  final result = channel._events.sublist(start);
  _cursor = channel._end;
  return result;
}