Pool class

Manages an abstract pool of resources with a limit on how many may be in use at once.

When a resource is needed, the user should call request. When the returned future completes with a PoolResource, the resource may be allocated. Once the resource has been released, the user should call PoolResource.release. The pool will ensure that only a certain number of PoolResources may be allocated at once.

Constructors

Pool(int _maxAllocatedResources, {Duration? timeout})
Creates a new pool with the given limit on how many resources may be allocated at once.

Properties

done Future
A future that completes once the pool is closed and all its outstanding resources have been released.
no setter
hashCode int
The hash code for this object.
no setterinherited
isClosed bool
Whether close has been called.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() Future
Closes the pool so that no more resources are requested.
forEach<S, T>(Iterable<S> elements, FutureOr<T> action(S source), {bool onError(S item, Object error, StackTrace stack)?}) Stream<T>
Returns a Stream containing the result of action applied to each element of elements.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
request() Future<PoolResource>
Request a PoolResource.
toString() String
A string representation of this object.
inherited
withResource<T>(FutureOr<T> callback()) Future<T>
Requests a resource for the duration of callback, which may return a Future.

Operators

operator ==(Object other) bool
The equality operator.
inherited