forked from mirror/async-std
		
	
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			521 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			521 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
//! 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(())
 | 
						|
    }))
 | 
						|
}
 |