pub struct HrTimerCallbackContext<'a, T: HasHrTimer<T>>(/* private fields */);
Expand description
Privileged smart-pointer for a HrTimer
callback context.
Many HrTimer
methods can only be called in two situations:
- When the caller has exclusive access to the
HrTimer
and theHrTimer
is guaranteed not to be running. - From within the context of an
HrTimer
’s callback method.
This type provides access to said methods from within a timer callback context.
§Invariants
- The existence of this type means the caller is currently within the callback for an
HrTimer
. self.0
always points to a live instance ofHrTimer<T>
.
Implementations§
Source§impl<'a, T: HasHrTimer<T>> HrTimerCallbackContext<'a, T>
impl<'a, T: HasHrTimer<T>> HrTimerCallbackContext<'a, T>
Sourcepub fn forward(&mut self, now: HrTimerInstant<T>, interval: Delta) -> u64
pub fn forward(&mut self, now: HrTimerInstant<T>, interval: Delta) -> u64
Conditionally forward the timer.
This function is identical to HrTimer::forward()
except that it may only be used from
within the context of a HrTimer
callback.
Sourcepub fn forward_now(&mut self, duration: Delta) -> u64
pub fn forward_now(&mut self, duration: Delta) -> u64
Conditionally forward the timer.
This is a variant of HrTimerCallbackContext::forward()
that uses an interval after the
current time of the base clock for the HrTimer
.
Auto Trait Implementations§
impl<'a, T> Freeze for HrTimerCallbackContext<'a, T>
impl<'a, T> !RefUnwindSafe for HrTimerCallbackContext<'a, T>
impl<'a, T> !Send for HrTimerCallbackContext<'a, T>
impl<'a, T> !Sync for HrTimerCallbackContext<'a, T>
impl<'a, T> Unpin for HrTimerCallbackContext<'a, T>
impl<'a, T> !UnwindSafe for HrTimerCallbackContext<'a, T>
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