Expand description
§pseudo_pool
A pool-like collection that automatically returns objects to the pool & blocks when the pool is empty
§Motivation
I needed something that worked like a pool, that allowed me to checkout objects in the pool & then return them, but it needed to have the following characteristics:
- It needed to automatically return things to the pool when dropped
- It needed to have a non-blocking way to do checkout that returned an object or None if all objects are in use
- IT NEEDED TO ALSO HAVE A BLOCKING CHECKOUT THAT BLOCKS UNTIL THERE IS A USABLE OBJECT
The first two were covered by existing crates:
These are nice crates made by responsible people, & not absurd hacks like this crate.
However, none of them had characteristic three.
So I wrote this thing.
§Usage
[dependencies]
pseudo_pool = "0.1.0" # A version number that inspires confidence
§Examples
TBD
§Benchmarks
No.
§License
Structs§
- Pool
- The pseudo-pool container. This holds the inventory of objects that can be checked in/out & automatically tracks when checked out objects are out of scope to return them to the pool. The objects can carry payloads (which must all be of the same type).
- Pool
Entry - The wrapper for objects in the pool. It carries an arbitrary payload, which can be read & written using accessors (but, currently, writes are erased upon dropping this).