pub trait Clock: Sized {
type T: TimeInt + Hash;
const SCALING_FACTOR: Fraction;
// Required method
fn try_now(&self) -> Result<Instant<Self>, Error>;
// Provided method
fn new_timer<Dur>(
&self,
duration: Dur,
) -> Timer<'_, OneShot, Armed, Self, Dur>
where Dur: FixedPoint + Duration { ... }
}Expand description
The Clock trait provides an abstraction for hardware-specific timer peripherals, external
timer devices, RTCs, etc.
The Clock is characterized by an inner unsigned integer storage type (either u32 or
u64), a u32/u32 Fraction defining the duration (in seconds) of one
count of the Clock, and a custom error type representing errors that may be generated by the
implementation.
In addition to the Clock::try_now() method which returns an Instant,
software Timers can be spawned from a Clock object.
Required Associated Constants§
Sourceconst SCALING_FACTOR: Fraction
const SCALING_FACTOR: Fraction
The duration of one clock tick in seconds, AKA the clock precision.
Required Associated Types§
Required Methods§
Provided Methods§
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.