Crate nonblock [−] [src]
Read available data from file descriptors without blocking
Useful for nonblocking reads from sockets, named pipes, and child stdout/stderr
Example
use std::io::Read; use std::process::{Command, Stdio}; use std::time::Duration; use nonblock::NonBlockingReader; let mut child = Command::new("some-executable") .stdout(Stdio::piped()) .spawn().unwrap(); let stdout = child.stdout.take().unwrap(); let mut noblock_stdout = NonBlockingReader::from_fd(stdout).unwrap(); while !noblock_stdout.is_eof() { let mut buf = String::new(); noblock_stdout.read_available_to_string(&mut buf).unwrap(); std::thread::sleep(Duration::from_secs(5)); }
Structs
NonBlockingReader |
Simple non-blocking wrapper for reader types that implement AsRawFd |