[−][src]Struct ndless_async::timer::Timer
Waits for a specific time.
Use TimerListener::sleep
, TimerListener::sleep_ms
,
TimerListener::sleep_ticks
, or TimerListener::sleep_until
to create
a Timer
.
The timer can be rescheduled with the reschedule
series of functions. If
the original time period has already passed, it will re-trigger after the
new time period.
The calculator is automatically put to sleep until the next timer to conserve power.
use ndless_async::task::{block_on, AsyncListeners}; let listeners = AsyncListeners::new(); block_on(&listeners, async { let late_by = listeners.timer().sleep_ms(1000).await; println!("Done sleeping! This event was expected {:?} ago", late_by); });
Implementations
impl Timer
[src]
pub fn at_tick(&self) -> u32
[src]
Get the tick that this timer should fire at
pub fn reschedule_ms(&self, ms: u32)
[src]
Reschedules this timer for the specified number of milliseconds. Problems will occur when sleeping for more than 2^31/32768 seconds, which is about 18 hours.
If this timer has already triggered, it will trigger again after the specified delay.
pub fn reschedule(&self, dur: Duration)
[src]
Reschedules this timer for the specified Duration
. Problems will
occur when sleeping for more than 2^31/32768 seconds, which is about 18
hours.
If this timer has already triggered, it will trigger again after the specified delay.
This function has a resolution of 30 μs.
pub fn reschedule_ticks(&self, ticks: u32)
[src]
Reschedules this timer for the specified number of ticks. Problems will occur when sleeping for more than 2^31 ticks, which is about 18 hours.
If this timer has already triggered, it will trigger again after the specified delay.
pub fn reschedule_at(&self, ticks: u32)
[src]
Reschedules this timer until the current number of ticks is equal to the parameter. Problems will occur when sleeping for more than 2^31 ticks in the future, which is about 18 hours.
If this timer has already triggered, it will trigger again after the specified delay.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> FutureExt for T where
T: Future + ?Sized,
[src]
T: Future + ?Sized,
fn map<U, F>(self, f: F) -> Map<Self, F> where
F: FnOnce(Self::Output) -> U,
[src]
F: FnOnce(Self::Output) -> U,
fn map_into<U>(self) -> MapInto<Self, U> where
Self::Output: Into<U>,
[src]
Self::Output: Into<U>,
fn then<Fut, F>(self, f: F) -> Then<Self, Fut, F> where
F: FnOnce(Self::Output) -> Fut,
Fut: Future,
[src]
F: FnOnce(Self::Output) -> Fut,
Fut: Future,
fn left_future<B>(self) -> Either<Self, B> where
B: Future<Output = Self::Output>,
[src]
B: Future<Output = Self::Output>,
fn right_future<A>(self) -> Either<A, Self> where
A: Future<Output = Self::Output>,
[src]
A: Future<Output = Self::Output>,
fn into_stream(self) -> IntoStream<Self>
[src]
fn flatten(self) -> Flatten<Self> where
Self::Output: Future,
[src]
Self::Output: Future,
fn flatten_stream(self) -> FlattenStream<Self> where
Self::Output: Stream,
[src]
Self::Output: Stream,
fn fuse(self) -> Fuse<Self>
[src]
fn inspect<F>(self, f: F) -> Inspect<Self, F> where
F: FnOnce(&Self::Output),
[src]
F: FnOnce(&Self::Output),
fn boxed<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a + Send>> where
Self: Send + 'a,
[src]
Self: Send + 'a,
fn boxed_local<'a>(self) -> Pin<Box<dyn Future<Output = Self::Output> + 'a>> where
Self: 'a,
[src]
Self: 'a,
fn unit_error(self) -> UnitError<Self>
[src]
fn never_error(self) -> NeverError<Self>
[src]
fn poll_unpin(&mut self, cx: &mut Context) -> Poll<Self::Output> where
Self: Unpin,
[src]
Self: Unpin,
fn now_or_never(self) -> Option<Self::Output>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,