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§