Trait tokio::prelude::FutureExt
[−]
[src]
pub trait FutureExt: Future {
fn deadline(self, deadline: Instant) -> Deadline<Self>
where
Self: Sized,
{ ... }
}An extension trait for Future that provides a variety of convenient
combinator functions.
Currently, there only is a deadline function, but this will increase
over time.
Users are not expected to implement this trait. All types that implement
Future already implement FutureExt.
This trait can be imported directly or via the Tokio prelude: use tokio::prelude::*.
Provided Methods
fn deadline(self, deadline: Instant) -> Deadline<Self> where
Self: Sized,
Self: Sized,
Creates a new future which allows self until deadline.
This combinator creates a new future which wraps the receiving future
with a deadline. The returned future is allowed to execute until it
completes or deadline is reached, whicheever happens first.
If the future completes before deadline then the future will resolve
with that item. Otherwise the future will resolve to an error once
deadline is reached.
Examples
use tokio::prelude::*; use std::time::{Duration, Instant}; let future = long_future() .deadline(Instant::now() + Duration::from_secs(1)) .map_err(|e| println!("error = {:?}", e)); tokio::run(future);