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 from = _cursor - _channel._base;
  final start = from < 0 ? 0 : from;
  final result = _channel._events.sublist(start);
  _cursor = _channel._end;
  return result;
}