Struct futures_core::task::Waker [−][src]
pub struct Waker { /* fields omitted */ }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 Wake
trait, allowing notifications to get routed through it. Usually Waker
instances are provided by an executor.
If you're implementing an executor, the recommended way to create a Waker
is via Waker::from applied to an Arc<T> value where T: Wake. The
unsafe new constructor should be used only in niche, no_std settings.
Methods
impl Waker[src]
impl Wakerpub unsafe fn new(inner: *const UnsafeWake) -> Waker[src]
pub unsafe fn new(inner: *const UnsafeWake) -> WakerConstructs 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)Wake up the task associated with this Waker.
pub fn will_wake(&self, other: &Waker) -> bool[src]
pub fn will_wake(&self, other: &Waker) -> boolReturns 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 Wakers would awaken the same task. However, if this function
returns true, it is guaranteed that the Wakers will awaken the same
task.
This function is primarily used for optimization purposes.
Trait Implementations
impl Send for Waker[src]
impl Send for Wakerimpl Sync for Waker[src]
impl Sync for Wakerimpl Clone for Waker[src]
impl Clone for Wakerfn clone(&self) -> Self[src]
fn clone(&self) -> SelfReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Debug for Waker[src]
impl Debug for Wakerfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Drop for Waker[src]
impl Drop for Wakerimpl<T> From<Arc<T>> for Waker where
T: Wake + 'static, [src]
impl<T> From<Arc<T>> for Waker where
T: Wake + 'static,