pub async fn retry_async<F, Fut, T>(operation: F) -> Result<T>where F: Fn() -> Fut + Send + Sync, Fut: Future<Output = Result<T>> + Send,
Retry an async operation with exponential backoff