2 个不稳定版本
0.2.0 | 2022年6月26日 |
---|---|
0.1.0 | 2016年4月25日 |
#1076 in 异步
7,723 每月下载量
在 5 crates 中使用
11KB
104 代码行
nonblock-rs
从文件描述符读取可用数据,而不阻塞
示例
请参阅 structure-stdio.rs 以获取示例用法。
构建 & 测试
本项目使用 cargo 构建和测试
cargo build
cargo test
cargo doc --no-deps
提示:在构建文档之前,克隆现有文档以跟踪更改
git clone -b gh-pages [email protected]:anowell/nonblock-rs.git target/doc
lib.rs
:
从文件描述符读取可用数据,而不阻塞
适用于从套接字、命名管道和子进程 stdout/stderr 进行非阻塞读取
示例
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));
}
依赖关系
~43KB