drain method

Future<void> drain()

Waits until every scheduled job finished.

Implementation

Future<void> drain() {
  if (_active == 0 && _queue.isEmpty) return Future<void>.value();
  final completer = Completer<void>();
  _idleWaiters.add(completer);
  return completer.future;
}