Struct kernel::workqueue::DelayedWork
source · pub struct DelayedWork<T: ?Sized, const ID: u64 = 0> { /* private fields */ }
Expand description
Links for a delayed work item.
This struct contains a function pointer to the run
function from the WorkItemPointer
trait, and defines the linked list pointers necessary to enqueue a work item in a workqueue in
a delayed manner.
Wraps the kernel’s C struct delayed_work
.
This is a helper type used to associate a delayed_work
with the WorkItem
that uses it.
Implementations§
source§impl<T: ?Sized, const ID: u64> DelayedWork<T, ID>
impl<T: ?Sized, const ID: u64> DelayedWork<T, ID>
sourcepub fn new(
work_name: &'static CStr,
work_key: Pin<&'static LockClassKey>,
timer_name: &'static CStr,
timer_key: Pin<&'static LockClassKey>
) -> impl PinInit<Self>where
T: WorkItem<ID>,
pub fn new(
work_name: &'static CStr,
work_key: Pin<&'static LockClassKey>,
timer_name: &'static CStr,
timer_key: Pin<&'static LockClassKey>
) -> impl PinInit<Self>where
T: WorkItem<ID>,
Creates a new instance of DelayedWork
.
sourcepub unsafe fn raw_as_work(ptr: *const Self) -> *mut Work<T, ID>
pub unsafe fn raw_as_work(ptr: *const Self) -> *mut Work<T, ID>
Get a pointer to the inner delayed_work
.
§Safety
The provided pointer must not be dangling and must be properly aligned. (But the memory need not be initialized.)
Trait Implementations§
source§impl<T: ?Sized, const ID: u64> HasPinData for DelayedWork<T, ID>
impl<T: ?Sized, const ID: u64> HasPinData for DelayedWork<T, ID>
type PinData = __ThePinData<T, ID>
unsafe fn __pin_data() -> Self::PinData
impl<T: ?Sized, const ID: u64> Send for DelayedWork<T, ID>
impl<T: ?Sized, const ID: u64> Sync for DelayedWork<T, ID>
Auto Trait Implementations§
impl<T, const ID: u64 = 0> !Freeze for DelayedWork<T, ID>
impl<T, const ID: u64 = 0> !RefUnwindSafe for DelayedWork<T, ID>
impl<T: ?Sized, const ID: u64> UnwindSafe for DelayedWork<T, ID>where
T: UnwindSafe,
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
source§impl<T> PinInit<T> for T
impl<T> PinInit<T> for T
source§unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), Infallible>
Initializes
slot
. Read more