Future close()

in lib/pool.dart [242:257]


  Future close() => _closeMemo.runOnce(() {
        if (_closeGroup != null) return _closeGroup!.future;

        _resetTimer();

        _closeGroup = FutureGroup();
        for (var callback in _onReleaseCallbacks) {
          _closeGroup!.add(Future.sync(callback));
        }

        _allocatedResources -= _onReleaseCallbacks.length;
        _onReleaseCallbacks.clear();

        if (_allocatedResources == 0) _closeGroup!.close();
        return _closeGroup!.future;
      });