A passive timer object which can be manipulated atomically. Useful for automation and robotics tasks.
Atomic timer is a part of RoboPLC project.
Usage example
Basic usage
use AtomicTimer;
use Duration;
let timer = new;
for _ in 0..100
Multi-threaded usage
use AtomicTimer;
use Arc;
use Duration;
let timer = new;
for _ in 0..10
Serialization / deserialization
Atomic timer objects can be safely serialized and de-serialized (requires
serde
feature).
When a timer is de-serialized, it keeps its state (elapsed/remaining time), despite the system monotonic clock difference.
MSRV
1.68.0