pseudo_pool

Crates.iopseudo_pool
lib.rspseudo_pool
version0.1.1
sourcesrc
created_at2024-09-09 00:46:22.832985
updated_at2024-09-09 14:41:09.470919
descriptionA pool-like collection that automatically returns objects to the pool & blocks when the pool is empty
homepage
repositoryhttps://github.com/evanjpw/pseudo_pool.git
max_upload_size
id1368698
size19,549
Evan Williams (evanjpw)

documentation

README

pseudo_pool

License Cargo Documentation Build

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

MIT

Commit count: 0

cargo fmt