[−][src]Struct futures::task::LocalWaker
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
A LocalWaker
is a handle for waking up a task by notifying its executor that it
is ready to be run.
This is similar to the Waker
type, but cannot be sent across threads.
Task executors can use this type to implement more optimized singlethreaded wakeup
behavior.
Methods
impl LocalWaker
[src]
impl LocalWaker
pub unsafe fn new(inner: NonNull<dyn UnsafeWake + 'static>) -> LocalWaker
[src]
pub unsafe fn new(inner: NonNull<dyn UnsafeWake + 'static>) -> LocalWaker
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Constructs a new LocalWaker
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 local_waker_from_nonlocal
or local_waker
to convert a Waker
into a LocalWaker
.
For this function to be used safely, it must be sound to call inner.wake_local()
on the current thread.
pub fn as_waker(&self) -> &Waker
[src]
pub fn as_waker(&self) -> &Waker
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Borrows this LocalWaker
as a Waker
.
Waker
is nearly identical to LocalWaker
, but is threadsafe
(implements Send
and Sync
).
pub fn into_waker(self) -> Waker
[src]
pub fn into_waker(self) -> Waker
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Converts this LocalWaker
into a Waker
.
Waker
is nearly identical to LocalWaker
, but is threadsafe
(implements Send
and Sync
).
pub fn wake(&self)
[src]
pub fn wake(&self)
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Wake up the task associated with this LocalWaker
.
pub fn will_wake(&self, other: &LocalWaker) -> bool
[src]
pub fn will_wake(&self, other: &LocalWaker) -> bool
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Returns whether or not this LocalWaker
and other
LocalWaker
awaken the same task.
This function works on a best-effort basis, and may return false even
when the LocalWaker
s would awaken the same task. However, if this function
returns true, it is guaranteed that the LocalWaker
s will awaken the same
task.
This function is primarily used for optimization purposes.
pub fn will_wake_nonlocal(&self, other: &Waker) -> bool
[src]
pub fn will_wake_nonlocal(&self, other: &Waker) -> bool
🔬 This is a nightly-only experimental API. (futures_api
)
futures in libcore are unstable
Returns whether or not this LocalWaker
and other
Waker
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 LocalWaker
s will awaken the same
task.
This function is primarily used for optimization purposes.
Trait Implementations
impl From<LocalWaker> for Waker
[src]
impl From<LocalWaker> for Waker
fn from(local_waker: LocalWaker) -> Waker
[src]
fn from(local_waker: LocalWaker) -> Waker
Performs the conversion.
impl Debug for LocalWaker
[src]
impl Debug for LocalWaker
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Unpin for LocalWaker
[src]
impl Unpin for LocalWaker
impl !Sync for LocalWaker
[src]
impl !Sync for LocalWaker
impl !Send for LocalWaker
[src]
impl !Send for LocalWaker
impl Clone for LocalWaker
[src]
impl Clone for LocalWaker
fn clone(&self) -> LocalWaker
[src]
fn clone(&self) -> LocalWaker
Returns 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
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
type Owned = T
fn to_owned(&self) -> T
[src]
fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)
[src]
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,