Struct local_waker::LocalWaker
source · [−]pub struct LocalWaker { /* private fields */ }Expand description
A synchronization primitive for task wakeup.
Sometimes the task interested in a given event will change over time. A LocalWaker can
coordinate concurrent notifications with the consumer, potentially “updating” the underlying
task to wake up. This is useful in scenarios where a computation completes in another task and
wants to notify the consumer, but the consumer is in the process of being migrated to a new
logical task.
Consumers should call register before checking the result of a computation and producers
should call wake after producing the computation (this differs from the usual thread::park
pattern). It is also permitted for wake to be called before register. This results in
a no-op.
A single LocalWaker may be reused for any number of calls to register or wake.
Implementations
sourceimpl LocalWaker
impl LocalWaker
Trait Implementations
sourceimpl Debug for LocalWaker
impl Debug for LocalWaker
sourceimpl Default for LocalWaker
impl Default for LocalWaker
sourcefn default() -> LocalWaker
fn default() -> LocalWaker
Returns the “default value” for a type. Read more
Auto Trait Implementations
impl !RefUnwindSafe for LocalWaker
impl !Send for LocalWaker
impl !Sync for LocalWaker
impl Unpin for LocalWaker
impl UnwindSafe for LocalWaker
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more