Struct futures::task::Waker [−][src]
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
A Waker
is a handle for waking up a task by notifying its executor that it
is ready to be run.
This handle contains a trait object pointing to an instance of the UnsafeWake
trait, allowing notifications to get routed through it.
Methods
impl Waker
[src]
[−]
impl Waker
pub unsafe fn new(inner: NonNull<UnsafeWake + 'static>) -> Waker
[src]
[−]
pub unsafe fn new(inner: NonNull<UnsafeWake + 'static>) -> Waker
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Constructs a new Waker
directly.
Note that most code will not need to call this. Implementers of the
UnsafeWake
trait will typically provide a wrapper that calls this
but you otherwise shouldn't call it directly.
If you're working with the standard library then it's recommended to
use the Waker::from
function instead which works with the safe
Arc
type and the safe Wake
trait.
pub fn wake(&self)
[src]
[−]
pub fn wake(&self)
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Wake up the task associated with this Waker
.
pub fn will_wake(&self, other: &Waker) -> bool
[src]
[−]
pub fn will_wake(&self, other: &Waker) -> bool
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Returns whether or not this Waker
and other
awaken the same task.
This function works on a best-effort basis, and may return false even
when the Waker
s would awaken the same task. However, if this function
returns true, it is guaranteed that the Waker
s will awaken the same
task.
This function is primarily used for optimization purposes.