pub async fn timeout<T, F: Future<Output = T>>( dur: Duration, fut: F, ) -> Result<T, Elapsed>
Run a future with a timeout. Returns Err(Elapsed) if the deadline passes before the future completes.
Err(Elapsed)