Module fuchsia_async::waker_list
source · Expand description
Implements a waker list.
§Example:
fn foo() {
let waker_list = WakerList::new();
let waker_entry = pin!(waker_list.new_entry());
poll_fn(|cx| {
if (ready) {
Poll::Ready(())
} else {
waker_entry.add(cx.waker().clone());
Poll::Pending
}
}).await;
// Elsewhere...
for waker in waker_list.drain() {
waker.wake();
}
}
Structs§
- An iterator that will drain waiters.
- A waker entry that can be added to a list.
- A waker list.