pub struct HardKernelTimerCallback { /* private fields */ }Expand description
Explicit capability for a bounded callback that may execute in hard IRQ.
The callback allocation is created and destroyed in task context. The
timer base invokes it without allocating, freeing, sleeping, performing a
registry lookup, or holding the deadline-base lock. Completion is moved to
ktimers/%u before the callback payload can be dropped.
Implementations§
Source§impl HardKernelTimerCallback
impl HardKernelTimerCallback
Sourcepub unsafe fn new(callback: HardRestartableKernelTimerCallback) -> Self
pub unsafe fn new(callback: HardRestartableKernelTimerCallback) -> Self
Creates one hard-expiry callback capability.
§Safety
Every invocation must be bounded, non-panicking, allocation-free and valid in hard IRQ context. It must use only IRQ-safe synchronization and prebound capabilities; it may not sleep, perform registry lookup, invoke an untyped external callback, or clone/drop owning references.
Auto Trait Implementations§
impl !RefUnwindSafe for HardKernelTimerCallback
impl !Sync for HardKernelTimerCallback
impl !UnwindSafe for HardKernelTimerCallback
impl Freeze for HardKernelTimerCallback
impl Send for HardKernelTimerCallback
impl Unpin for HardKernelTimerCallback
impl UnsafeUnpin for HardKernelTimerCallback
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