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.
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.
Wake up the task associated with this Waker
.
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.
Formats the value using the given formatter. Read more
Executes the destructor for this type. Read more
Performs copy-assignment from source
. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more