Skip to main content

WakeSource

Struct WakeSource 

Source
pub struct WakeSource { /* private fields */ }
Expand description

Releases a runtime owner thread parked in RuntimeHandle::pump.

A wake source is usable from any thread, which a host’s task submission and shutdown paths rely on. Each source holds its own reference to the runtime’s wake state, so it stays usable after the runtime closes and signalling it then does nothing.

Implementations§

Source§

impl WakeSource

Source

pub fn signal(&self) -> Result<()>

Sets the runtime’s wake flag and releases the parked owner thread.

A signal raised while the owner thread is running sets the wake flag, so the next RuntimeHandle::pump returns without parking. Signalling after the runtime closes succeeds and does nothing.

Trait Implementations§

Source§

impl Debug for WakeSource

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for WakeSource

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for WakeSource

Source§

impl Sync for WakeSource

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.