[−][src]Struct glommio::timer::Timer
A timer that expires after a duration of time.
Timers are futures that output the Instant
at which they fired.
Note that because of that, Timers always block the current task queue
in which they currently execute.
In most situations you will want to use TimerActionOnce
Examples
Sleep for 100 milliseconds:
use glommio::LocalExecutor; use glommio::timer::Timer; use std::time::Duration; async fn sleep(dur: Duration) { Timer::new(dur).await; } let ex = LocalExecutor::make_default(); ex.run(async { sleep(Duration::from_millis(100)).await; });
Implementations
impl Timer
[src]
pub fn new(dur: Duration) -> Timerⓘ
[src]
Creates a timer that expires after the given duration of time.
Examples
use glommio::timer::Timer; use std::time::Duration; Timer::new(Duration::from_millis(100));
pub fn reset(&mut self, dur: Duration)
[src]
Resets the timer to expire after the new duration of time.
Note that resetting a timer is different from creating a new timer because
reset()
does not remove the waker associated with the task that is
polling the timer.
Examples
use glommio::timer::Timer; use std::time::Duration; let mut t = Timer::new(Duration::from_secs(1)); t.reset(Duration::from_millis(100));
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Timer
impl !Send for Timer
impl !Sync for Timer
impl Unpin for Timer
impl !UnwindSafe for Timer
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<F> FutureExt for F where
F: Future + ?Sized,
[src]
F: Future + ?Sized,
fn poll(&mut self, cx: &mut Context<'_>) -> Poll<Self::Output> where
Self: Unpin,
[src]
Self: Unpin,
fn or<F>(self, other: F) -> Or<Self, F> where
F: Future<Output = Self::Output>,
[src]
F: Future<Output = Self::Output>,
fn race<F>(self, other: F) -> Race<Self, F> where
F: Future<Output = Self::Output>,
[src]
F: Future<Output = Self::Output>,
fn catch_unwind(self) -> CatchUnwind<Self> where
Self: UnwindSafe,
[src]
Self: UnwindSafe,
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,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<F> IntoFuture for F where
F: Future,
[src]
F: Future,
type Output = <F as Future>::Output
🔬 This is a nightly-only experimental API. (
into_future
)The output that the future will produce on completion.
type Future = F
🔬 This is a nightly-only experimental API. (
into_future
)Which kind of future are we turning this into?
pub fn into_future(self) -> <F as IntoFuture>::Future
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
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.
pub 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>,