[][src]Struct futures_core::task::LocalWaker

#[repr(transparent)]
pub struct LocalWaker { /* fields omitted */ }
🔬 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]

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

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

futures in libcore are unstable

Wake up the task associated with this LocalWaker.

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

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl From<LocalWaker> for Waker
[src]

Performs the conversion.

impl Drop for LocalWaker
[src]

Executes the destructor for this type. Read more

impl Unpin for LocalWaker
[src]

impl Debug for LocalWaker
[src]

Formats the value using the given formatter. Read more

impl !Sync for LocalWaker
[src]

impl !Send for LocalWaker
[src]

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

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

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

Performs the conversion.

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

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

Performs the conversion.

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

Performs the conversion.

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

Important traits for &'a mut I

Immutably borrows from an owned value. Read more

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

Important traits for &'a mut I

Mutably borrows from an owned value. Read more

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

🔬 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> ToOwned for T where
    T: Clone
[src]

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