Lines Matching refs:ID

181     pub fn enqueue<W, const ID: u64>(&self, w: W) -> W::EnqueueOutput  in enqueue()
183 W: RawWorkItem<ID> + Send + 'static, in enqueue()
274 pub unsafe trait RawWorkItem<const ID: u64> {
318 pub unsafe trait WorkItemPointer<const ID: u64>: RawWorkItem<ID> {
333 pub trait WorkItem<const ID: u64 = 0> {
336 type Pointer: WorkItemPointer<ID>;
354 pub struct Work<T: ?Sized, const ID: u64 = 0> {
363 unsafe impl<T: ?Sized, const ID: u64> Send for Work<T, ID> {}
367 unsafe impl<T: ?Sized, const ID: u64> Sync for Work<T, ID> {}
369 impl<T: ?Sized, const ID: u64> Work<T, ID> {
374 T: WorkItem<ID>, in new()
437 pub unsafe trait HasWork<T, const ID: u64 = 0> {
458 unsafe fn raw_get_work(ptr: *mut Self) -> *mut Work<T, ID> { in raw_get_work() argument
460 unsafe { (ptr as *mut u8).add(Self::OFFSET) as *mut Work<T, ID> } in raw_get_work()
469 unsafe fn work_container_of(ptr: *mut Work<T, ID>) -> *mut Self in work_container_of()
534 unsafe impl<T, const ID: u64> WorkItemPointer<ID> for Arc<T>
536 T: WorkItem<ID, Pointer = Self>,
537 T: HasWork<T, ID>,
541 let ptr = ptr as *mut Work<T, ID>; in run()
558 unsafe impl<T, const ID: u64> RawWorkItem<ID> for Arc<T>
560 T: WorkItem<ID, Pointer = Self>,
561 T: HasWork<T, ID>,
587 unsafe impl<T, const ID: u64> WorkItemPointer<ID> for Pin<KBox<T>>
589 T: WorkItem<ID, Pointer = Self>,
590 T: HasWork<T, ID>,
594 let ptr = ptr as *mut Work<T, ID>; in run()
607 unsafe impl<T, const ID: u64> RawWorkItem<ID> for Pin<KBox<T>>
609 T: WorkItem<ID, Pointer = Self>,
610 T: HasWork<T, ID>,