pub async fn with_timeout<F, T>( fut: F, duration: Duration, context: &str, ) -> Result<T>where F: Future<Output = T>,
Execute a future with a timeout and context