pub trait HrTimerPointer: Sync + Sized {
type TimerHandle: HrTimerHandle;
// Required method
fn start(self, expires: Ktime) -> Self::TimerHandle;
}Expand description
Implemented by pointer types that point to structs that contain a HrTimer.
Self must be Sync because it is passed to timer callbacks in another
thread of execution (hard or soft interrupt context).
Starting a timer returns a HrTimerHandle that can be used to manipulate
the timer. Note that it is OK to call the start function repeatedly, and
that more than one HrTimerHandle associated with a HrTimerPointer may
exist. A timer can be manipulated through any of the handles, and a handle
may represent a cancelled timer.
Required Associated Types§
Sourcetype TimerHandle: HrTimerHandle
type TimerHandle: HrTimerHandle
A handle representing a started or restarted timer.
If the timer is running or if the timer callback is executing when the
handle is dropped, the drop method of HrTimerHandle should not return
until the timer is stopped and the callback has completed.
Note: When implementing this trait, consider that it is not unsafe to leak the handle.
Required Methods§
Sourcefn start(self, expires: Ktime) -> Self::TimerHandle
fn start(self, expires: Ktime) -> Self::TimerHandle
Start the timer with expiry after expires time units. If the timer was
already running, it is restarted with the new expiry time.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.