wakerset 0.1.0

no_std, no_alloc storage of Wakers embedded in the Future type
Documentation

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].