8 releases
| 0.2.5 | Sep 2, 2025 |
|---|---|
| 0.2.4 | Aug 26, 2025 |
| 0.2.1 | Jun 13, 2025 |
| 0.1.1 | May 27, 2024 |
#521 in Concurrency
1,255 downloads per month
Used in 6 crates
(2 directly)
23KB
295 lines
Asynchronous data structures like channels need to track sets of waiting futures. Holding them in a Vec requires allocation. We can do better by storing pending wakers in the futures themselves and linking them into an intrusive doubly-linked list.
This crate provides a no_std, no_alloc, safe Rust interface to the above strategy. The shared data structure holds a [WakerList] and each pending future holds a [WakerSlot], each of which holds room for one [Waker].
no_std, zero allocation utility crate for efficiently storing sets
of Wakers within the Future objects themselves.
Exposes a safe interface and passes MIRI.
Dependencies
~66KB