Skip to main content

CompletionWaker

Struct CompletionWaker 

Source
pub struct CompletionWaker<'d> { /* private fields */ }
Expand description

A driver-scoped, type-erased wake target for an in-flight operation.

Unlike ReadyKey, this preserves hierarchical task wakeups. A completion can therefore wake the exact child task that registered the operation, rather than only waking the root runtime task.

Implementations§

Source§

impl<'d> CompletionWaker<'d>

Source

pub fn from_ready(driver: DriverRef<'d>, key: ReadyKey<'d>) -> Self

Source

pub unsafe fn from_callback( target: NonNull<()>, callback: unsafe fn(NonNull<()>), ) -> Self

§Safety

target must remain valid for every call to wake while this handle is live, and callback must accept that exact target.

Source

pub fn wake(self)

Trait Implementations§

Source§

impl<'d> Clone for CompletionWaker<'d>

Source§

fn clone(&self) -> CompletionWaker<'d>

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
Source§

impl<'d> Copy for CompletionWaker<'d>

Auto Trait Implementations§

§

impl<'d> !RefUnwindSafe for CompletionWaker<'d>

§

impl<'d> !Send for CompletionWaker<'d>

§

impl<'d> !Sync for CompletionWaker<'d>

§

impl<'d> !UnwindSafe for CompletionWaker<'d>

§

impl<'d> Freeze for CompletionWaker<'d>

§

impl<'d> Unpin for CompletionWaker<'d>

§

impl<'d> UnsafeUnpin for CompletionWaker<'d>

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.