use futures::pin_mut;async fn delay() {for i in 0..6 {tokio::time::sleep(std::time::Duration::from_secs(1)).await;println!("Ping! {}", i);}}async fn runner() {let delayer = delay();pin_mut!(delayer);if let Err(_) = tokio::time::timeout(std::time::Duration::from_secs(3), &mut delayer).await {println!("Taking more than three seconds");delayer.await;}}
