drain method
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;
}