pub struct Timer { /* private fields */ }
Expand description
A high-precision future that completes after a specified duration.
Timer
provides platform-native timing capabilities that leverage operating system
scheduling primitives for accurate delays without busy-waiting. The timer integrates
seamlessly with async/await and provides zero-cost abstraction over native OS APIs.
§Platform Behavior
- Apple platforms: Uses GCD’s
dispatch_after
for precise scheduling - Other platforms: Will use platform-specific high-resolution APIs
§Performance
Unlike thread-based sleep implementations, Timer
doesn’t block threads and
allows the executor to handle other tasks while waiting.
§Examples
use native_executor::timer::Timer;
use std::time::Duration;
async fn precise_timing() {
// Millisecond precision timing
Timer::after(Duration::from_millis(250)).await;
// Second-based convenience method
Timer::after_secs(2).await;
}
Implementations§
Source§impl Timer
impl Timer
Sourcepub fn after(duration: Duration) -> Self
pub fn after(duration: Duration) -> Self
Creates a new Timer
that will complete after the specified duration.
§Arguments
duration
- The amount of time to wait before the timer completes.
§Returns
A new Timer
instance that can be awaited.
§Example
use native_executor::timer::Timer;
use std::time::Duration;
async fn example() {
// Wait for 1 second
Timer::after(Duration::from_secs(1)).await;
println!("One second has passed!");
}
Sourcepub fn after_secs(secs: u64) -> Self
pub fn after_secs(secs: u64) -> Self
Creates a new Timer
that will complete after the specified number of seconds.
This is a convenience method that wraps Timer::after
with Duration::from_secs
.
§Arguments
secs
- The number of seconds to wait before the timer completes.
§Returns
A new Timer
instance that can be awaited.
§Example
use native_executor::timer::Timer;
async fn example() {
// Wait for 5 seconds
Timer::after_secs(5).await;
println!("Five seconds have passed!");
}