pub async fn timeout<F>(duration: Duration, future: F) -> Option<F::Output>where F: Future,
Executes a future with a specific timeout using which ever asynchronous runtime the library is built with