pub struct UnboundedPool<Resource, Reset> { /* private fields */ }Expand description
A resource pool with a growable number of Resources.
Implementations§
Source§impl<Resource, Reset> UnboundedPool<Resource, Reset>
impl<Resource, Reset> UnboundedPool<Resource, Reset>
Sourcepub fn new(reset_resource: Reset) -> Selfwhere
Reset: ResetResource<Resource> + Clone,
pub fn new(reset_resource: Reset) -> Selfwhere
Reset: ResetResource<Resource> + Clone,
Create a new UnboundedPool, which initially has zero Resources.
Whenever a Resource is returned to the pool, reset_resource is run on it first.
Source§impl<Resource> UnboundedPool<Resource, ResetNothing>
impl<Resource> UnboundedPool<Resource, ResetNothing>
Sourcepub fn new_without_reset() -> Self
pub fn new_without_reset() -> Self
Create a new UnboundedPool, which initially has zero Resources.
When a Resource is returned to the pool, it is not reset in any way.
Source§impl<Resource, Reset> UnboundedPool<Resource, Reset>
impl<Resource, Reset> UnboundedPool<Resource, Reset>
Sourcepub fn get_default(&self) -> PooledResource<Self, Resource>
pub fn get_default(&self) -> PooledResource<Self, Resource>
Get a Resource from the pool, returning a default Resource if none were already
available in the pool.
Source§impl<Resource, Reset: ResetResource<Resource> + Clone> UnboundedPool<Resource, Reset>
impl<Resource, Reset: ResetResource<Resource> + Clone> UnboundedPool<Resource, Reset>
Sourcepub fn get<F>(&self, init_resource: F) -> PooledResource<Self, Resource>where
F: FnOnce() -> Resource,
pub fn get<F>(&self, init_resource: F) -> PooledResource<Self, Resource>where
F: FnOnce() -> Resource,
Get a Resource from the pool.
Sourcepub fn pool_size(&self) -> usize
pub fn pool_size(&self) -> usize
Get the total number of Resources in this pool, whether available or in-use.
Sourcepub fn available_resources(&self) -> usize
pub fn available_resources(&self) -> usize
Get the number of Resources in the pool which are not currently being used.
Trait Implementations§
Source§impl<Resource, ResetResource: Clone> Clone for UnboundedPool<Resource, ResetResource>
impl<Resource, ResetResource: Clone> Clone for UnboundedPool<Resource, ResetResource>
Source§impl<Resource, Reset> Default for UnboundedPool<Resource, Reset>
impl<Resource, Reset> Default for UnboundedPool<Resource, Reset>
Source§impl<Resource, ResetResource, S> MirroredClone<S> for UnboundedPool<Resource, ResetResource>where
ResetResource: MirroredClone<S>,
S: Speed,
Available on crate feature clone-behavior only.
impl<Resource, ResetResource, S> MirroredClone<S> for UnboundedPool<Resource, ResetResource>where
ResetResource: MirroredClone<S>,
S: Speed,
Available on crate feature
clone-behavior only.Source§fn mirrored_clone(&self) -> Self
fn mirrored_clone(&self) -> Self
Get a clone that shares all semantically-important mutable state with its source. Read more
Source§fn fast_mirrored_clone(&self) -> Selfwhere
S: FastSpeed,
fn fast_mirrored_clone(&self) -> Selfwhere
S: FastSpeed,
Get a clone that shares all semantically-important mutable state with its source. Read more
Auto Trait Implementations§
impl<Resource, Reset> Freeze for UnboundedPool<Resource, Reset>where
Reset: Freeze,
impl<Resource, Reset> !RefUnwindSafe for UnboundedPool<Resource, Reset>
impl<Resource, Reset> !Send for UnboundedPool<Resource, Reset>
impl<Resource, Reset> !Sync for UnboundedPool<Resource, Reset>
impl<Resource, Reset> Unpin for UnboundedPool<Resource, Reset>where
Reset: Unpin,
impl<Resource, Reset> !UnwindSafe for UnboundedPool<Resource, Reset>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more