| Crates.io | smoltimeout |
| lib.rs | smoltimeout |
| version | 0.6.3 |
| created_at | 2024-11-20 14:31:20.480257+00 |
| updated_at | 2025-05-30 04:32:59.972784+00 |
| description | A way to poll a future until it or a timer completes. |
| homepage | |
| repository | https://github.com/delta4chat/smol-timeout |
| max_upload_size | |
| id | 1454830 |
| size | 40,324 |
smol-timeoutA way to poll a future until it or a timer completes.
use async_io::Timer;
use smol_timeout::TimeoutExt;
use std::time::Duration;
let foo = async {
Timer::new(Duration::from_millis(250)).await;
24
};
let foo = foo.timeout(Duration::from_millis(100));
assert_eq!(foo.await, None);
let bar = async {
Timer::new(Duration::from_millis(100)).await;
42
};
let bar = bar.timeout(Duration::from_millis(250));
assert_eq!(bar.await, Some(42));
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.