karyon_core::async_util

Function timeout

Source
pub async fn timeout<T, F>(delay: Duration, future1: F) -> Result<T>
where F: Future<Output = T>,
Expand description

Waits for a future to complete or times out if it exceeds a specified duration.

ยงExample

use std::{future, time::Duration};

use karyon_core::async_util::timeout;

async {
    let fut = future::pending::<()>();
    assert!(timeout(Duration::from_millis(100), fut).await.is_err());
};