#[repr(transparent)]
pub struct Waker { /* fields omitted */ }
Expand description
A Waker is a handle for waking up a task by notifying its executor that it
is ready to be run.
This handle encapsulates a RawWaker instance, which defines the
executor-specific wakeup behavior.
Implements Clone, Send, and Sync.
Wake up the task associated with this Waker.
Wake up the task associated with this Waker without consuming the Waker.
This is similar to wake, but may be slightly less efficient in the case
where an owned Waker is available. This method should be preferred to
calling waker.clone().wake().
Returns true if this Waker and another Waker have awoken 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.
Creates a new Waker from RawWaker.
The behavior of the returned Waker is undefined if the contract defined
in RawWaker’s and RawWakerVTable’s documentation is not upheld.
Therefore this method is unsafe.
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Executes the destructor for this type. Read more
Use a Wake-able type as a Waker.
No heap allocations or atomic operations are used for this conversion.
impl<T> Any for T where
T: 'static + ?Sized,
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
impl<T, U> Into<U> for T where
U: From<T>,
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
The type returned in the event of a conversion error.