Expand description
Single-threaded, no_std + alloc port of the AsyncCondition primitive from
rust-lumanoi-core (originally under the Fuchsia BSD-style license).
Upstream source:
/Users/darco/Projects/rust-lumanoi/rust-lumanoi-core/src/async_condition.rs
Differences from the upstream:
std::sync::Mutex→core::cell::RefCell(UMSH is single-threaded).AtomicUsizetrigger counter →Cell<usize>.
Everything else (Slab<Waker>, ticket-based deregistration, forget_ticket,
the counter-snapshot check in poll_wait that prevents lost wakes across
trigger-then-wait races) is preserved.
Structs§
- Async
Condition - An asynchronous condition that can block multiple tasks until triggered.
- Async
Condition Ticket - Async
Condition Wait - Instance of
Futurereturned byAsyncCondition.wait().