[][src]Struct futures::task::LocalWaker

#[repr(transparent)]
pub struct 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 single-threaded wakeup behavior.

Methods

impl LocalWaker
[src]

pub unsafe fn new(inner: NonNull<dyn UnsafeWake + 'static>) -> LocalWaker
[src]

🔬 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]

🔬 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]

🔬 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]

🔬 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]

🔬 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 LocalWakers would awaken the same task. However, if this function returns true, it is guaranteed that the LocalWakers will awaken the same task.

This function is primarily used for optimization purposes.

pub fn will_wake_nonlocal(&self, other: &Waker) -> bool
[src]

🔬 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 Wakers would awaken the same task. However, if this function returns true, it is guaranteed that the LocalWakers will awaken the same task.

This function is primarily used for optimization purposes.

Trait Implementations

impl Clone for LocalWaker
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl From<LocalWaker> for Waker
[src]

fn from(local_waker: LocalWaker) -> Waker
[src]

Converts a LocalWaker into a Waker.

This conversion turns a !Sync LocalWaker into a Sync Waker, allowing a wakeup object to be sent to another thread, but giving up its ability to do specialized thread-local wakeup behavior.

impl Debug for LocalWaker
[src]

impl Unpin for LocalWaker
[src]

impl !Sync for LocalWaker
[src]

impl !Send for LocalWaker
[src]

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.