acquire method

  1. @override
Future<void> acquire({
  1. int estimatedTokens = 0,
})
override

Implementation

@override
Future<void> acquire({int estimatedTokens = 0}) async {
  _refill();
  if (_tokens >= 1.0 && _waiters.isEmpty) {
    _tokens -= 1.0;
    return;
  }
  final c = Completer<void>();
  _waiters.add(c);
  _scheduleWake();
  return c.future;
}