Skip to main content

SchedulerHandle

Struct SchedulerHandle 

Source
pub struct SchedulerHandle<E> { /* private fields */ }
Expand description

Cloneable handle used by recv threads and the write path to schedule events without ever touching the worker’s heap. Every method is a lock-free channel send.

Implementations§

Source§

impl<E> SchedulerHandle<E>

Source

pub fn raise_at(&self, at: Instant, event: E) -> bool

Schedule event to fire at the given instant. Wakes the worker if this is now the earliest pending deadline. Returns false if the worker has already shut down (channel disconnected).

Source

pub fn raise_in(&self, delay: Duration, event: E) -> bool

Schedule event to fire after delay from now.

Source

pub fn raise_now(&self, event: E) -> bool

Schedule event to fire as soon as possible (next worker wakeup).

Source

pub fn stop(&self)

Ask the worker loop to stop (after dispatching already-due events).

Trait Implementations§

Source§

impl<E> Clone for SchedulerHandle<E>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<E> Freeze for SchedulerHandle<E>

§

impl<E> RefUnwindSafe for SchedulerHandle<E>

§

impl<E> Send for SchedulerHandle<E>
where E: Send,

§

impl<E> Sync for SchedulerHandle<E>
where E: Send,

§

impl<E> Unpin for SchedulerHandle<E>

§

impl<E> UnsafeUnpin for SchedulerHandle<E>

§

impl<E> UnwindSafe for SchedulerHandle<E>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.