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 ()) -> boolRuns the task.
clone_waker: unsafe fn(ptr: *const ()) -> RawWakerCreates a new waker associated with the task.
layout_info: &'static TaskLayoutThe 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§
impl Freeze for TaskVTable
impl RefUnwindSafe for TaskVTable
impl Send for TaskVTable
impl Sync for TaskVTable
impl Unpin for TaskVTable
impl UnwindSafe for TaskVTable
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more