#[repr(transparent)]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 encapsulates a RawWaker
instance, which defines the executor-specific wakeup behavior.
Implements Clone
, Send
, and Sync
.
impl Waker
[src]
pub fn wake(self)
[src]
Wake up the task associated with this Waker
.
pub fn wake_by_ref(&self)
[src]
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()
.
pub fn will_wake(&self, other: &Waker) -> bool
[src]
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 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.
pub unsafe fn from_raw(waker: RawWaker) -> Waker
[src]
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.
impl Clone for Waker
[src]
impl Debug for Waker
[src]
impl Drop for Waker
[src]
impl<W> From<Arc<W>> for Waker where
W: 'static + Wake + Send + Sync,
[src]
impl Send for Waker
[src]
impl Sync for Waker
[src]
impl Unpin for Waker
[src]
impl RefUnwindSafe for Waker
impl UnwindSafe for Waker
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
fn borrow(&self) -> &TⓘNotable traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized,
type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized,
type Item = <I as Iterator>::Item;
impl<R: Read + ?Sized, '_> Read for &'_ mut R
impl<W: Write + ?Sized, '_> Write for &'_ mut W
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
fn borrow_mut(&mut self) -> &mut TⓘNotable traits for &'_ mut F
impl<'_, F> Future for &'_ mut F where
F: Unpin + Future + ?Sized,
type Output = <F as Future>::Output;
impl<'_, I> Iterator for &'_ mut I where
I: Iterator + ?Sized,
type Item = <I as Iterator>::Item;
impl<R: Read + ?Sized, '_> Read for &'_ mut R
impl<W: Write + ?Sized, '_> Write for &'_ mut W
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/task/struct.Waker.html