Crate native_timer
source ·Expand description
Native Timer for Rust
Provide a timer functionality which uses OS capabilities. Currently supports Windows, Linux, and MacOS.
Currently, only both Windows and Linux platforms are supported.
Features
tracker(default) - Enable static callback tracker. It should minimize the native callback into an invalid timer context, that has been recently destroyed.
Examples
To fire an one-shot task:
use native_timer::fire_oneshot;
let flag = Arc::new(AtomicBool::new(false));
let shared_flag = flag.clone();
fire_oneshot(Duration::from_millis(100), None, move || {
let _ = &shared_flag.store(true, Ordering::SeqCst);
}).unwrap();
thread::sleep(Duration::from_millis(200));
assert!(flag.load(Ordering::SeqCst));For more usages, see /src/examples/simple.rs.
Credit
Linux and MacOS implementations are recovered from Autd3 open source library
on tag v1.10.0, which is before being removed by commits afterwards.
Structs
Represents an instance of scheduled timer for a specific task.
Enums
Scheduler hint about the callback function.
Constants
Functions
Schedule an one-shot background task on the default
TimerQueue. Note that, unlike other schedule_* functions, this fire_oneshot
requires a 'static lifetime closure.Schedule an interval task on the default
TimerQueue.Schedule an one-shot task on the default
TimerQueue.