TaskVTable

Struct TaskVTable 

Source
pub(crate) struct TaskVTable {
    pub(crate) schedule: unsafe fn(*const (), ScheduleInfo),
    pub(crate) drop_future: unsafe fn(*const ()),
    pub(crate) get_output: unsafe fn(*const ()) -> *const (),
    pub(crate) drop_ref: unsafe fn(ptr: *const ()),
    pub(crate) destroy: unsafe fn(*const ()),
    pub(crate) run: unsafe fn(*const ()) -> bool,
    pub(crate) clone_waker: unsafe fn(ptr: *const ()) -> RawWaker,
    pub(crate) layout_info: &'static TaskLayout,
}
Expand description

The vtable for a task.

Fields§

§schedule: unsafe fn(*const (), ScheduleInfo)

Schedules the task.

§drop_future: unsafe fn(*const ())

Drops the future inside the task.

§get_output: unsafe fn(*const ()) -> *const ()

Returns a pointer to the output stored after completion.

§drop_ref: unsafe fn(ptr: *const ())

Drops the task reference (Runnable or Waker).

§destroy: unsafe fn(*const ())

Destroys the task.

§run: unsafe fn(*const ()) -> bool

Runs the task.

§clone_waker: unsafe fn(ptr: *const ()) -> RawWaker

Creates a new waker associated with the task.

§layout_info: &'static TaskLayout

The memory layout of the task. This information enables debuggers to decode raw task memory blobs. Do not remove the field, even if it appears to be unused.

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.