Struct futures_task::WakerRef
source · pub struct WakerRef<'a> { /* private fields */ }
Expand description
A Waker
that is only valid for a given lifetime.
Note: this type implements Deref<Target = Waker>
,
so it can be used to get a &Waker
.
Implementations§
source§impl<'a> WakerRef<'a>
impl<'a> WakerRef<'a>
sourcepub fn new_unowned(waker: ManuallyDrop<Waker>) -> Self
pub fn new_unowned(waker: ManuallyDrop<Waker>) -> Self
Methods from Deref<Target = Waker>§
1.36.0 · sourcepub fn wake_by_ref(&self)
pub fn wake_by_ref(&self)
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()
.
1.36.0 · sourcepub fn will_wake(&self, other: &Waker) -> bool
pub fn will_wake(&self, other: &Waker) -> bool
Returns true
if this Waker
and another Waker
would awake 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.
Trait Implementations§
Auto Trait Implementations§
impl<'a> RefUnwindSafe for WakerRef<'a>
impl<'a> Send for WakerRef<'a>
impl<'a> Sync for WakerRef<'a>
impl<'a> Unpin for WakerRef<'a>
impl<'a> UnwindSafe for WakerRef<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more