#object-pool #pool #blocking #data-structures

no-std pseudo_pool

A pool-like collection that automatically returns objects to the pool & blocks when the pool is empty

2 releases

0.1.1 Sep 9, 2024
0.1.0 Sep 9, 2024

#293 in Memory management

42 downloads per month

Custom license

14KB
252 lines

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

Dependencies

~0.8–1.3MB
~26K SLoC