#[repr(transparent)]pub struct Work<T: ?Sized, const ID: u64 = 0> { /* private fields */ }
Expand description
Links for a 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.
Wraps the kernel’s C struct work_struct
.
This is a helper type used to associate a work_struct
with the WorkItem
that uses it.
Implementations§
source§impl<T: ?Sized, const ID: u64> Work<T, ID>
impl<T: ?Sized, const ID: u64> Work<T, ID>
sourcepub fn new(
name: &'static CStr,
key: &'static LockClassKey
) -> impl PinInit<Self>where
T: WorkItem<ID>,
pub fn new( name: &'static CStr, key: &'static LockClassKey ) -> impl PinInit<Self>where T: WorkItem<ID>,
Creates a new instance of Work
.
sourcepub unsafe fn raw_get(ptr: *const Self) -> *mut work_struct
pub unsafe fn raw_get(ptr: *const Self) -> *mut work_struct
Get a pointer to the inner work_struct
.
Safety
The provided pointer must not be dangling and must be properly aligned. (But the memory need not be initialized.)
Trait Implementations§
impl<T: ?Sized, const ID: u64> Send for Work<T, ID>
impl<T: ?Sized, const ID: u64> Sync for Work<T, ID>
Auto Trait Implementations§
impl<T, const ID: u64 = 0> !RefUnwindSafe for Work<T, ID>
impl<T, const ID: u64 = 0> !Unpin for Work<T, ID>
impl<T: ?Sized, const ID: u64> UnwindSafe for Work<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