release method

Future<void> release()

Releases a permit.

Implementation

Future<void> release() {
  if (_queue.isNotEmpty) {
    _queue.dequeue();
    return _void;
  }

  if (_count + 1 > _maxCount) {
    throw StateError('Unmatched call of \'release()()\' method');
  }

  _count++;
  return _void;
}