//! Reads a line from stdin, or exits with an error if nothing is read in 5 seconds. | |
use std::time::Duration; | |
use async_std::io; | |
use async_std::task; | |
fn main() -> io::Result<()> { | |
// This async scope times out after 5 seconds. | |
task::block_on(io::timeout(Duration::from_secs(5), async { | |
let stdin = io::stdin(); | |
// Read a line from the standard input and display it. | |
let mut line = String::new(); | |
stdin.read_line(&mut line).await?; | |
dbg!(line); | |
Ok(()) | |
})) | |
} |