[][src]Function tokio::time::timeout

Important traits for Timeout<T>
pub fn timeout<T>(duration: Duration, future: T) -> Timeout<T> where
    T: Future
This is supported on feature="time" only.

Require a Future to complete before the specified duration has elapsed.

If the future completes before the duration has elapsed, then the completed value is returned. Otherwise, an error is returned.


Cancelling a timeout is done by dropping the future. No additional cleanup or other work is required.

The original future may be obtained by calling Timeout::into_inner. This consumes the Timeout.


Create a new Timeout set to expire in 10 milliseconds.

use tokio::time::timeout;
use tokio::sync::oneshot;

use std::time::Duration;

let (tx, rx) = oneshot::channel();

// Wrap the future with a `Timeout` set to expire in 10 milliseconds.
if let Err(_) = timeout(Duration::from_millis(10), rx).await {
    println!("did not receive value within 10 ms");