3个版本 (破坏性更新)

0.3.0 2021年1月6日
0.2.1 2020年11月20日
0.2.0 2020年11月19日
0.1.0 2020年2月11日

#439 in Unix APIs

Download history 1293/week @ 2024-03-14 1501/week @ 2024-03-21 1116/week @ 2024-03-28 1860/week @ 2024-04-04 4132/week @ 2024-04-11 5144/week @ 2024-04-18 5997/week @ 2024-04-25 5214/week @ 2024-05-02 2909/week @ 2024-05-09 4402/week @ 2024-05-16 5353/week @ 2024-05-23 2949/week @ 2024-05-30 4142/week @ 2024-06-06 3744/week @ 2024-06-13 5145/week @ 2024-06-20 3653/week @ 2024-06-27

17,090 每月下载量
用于 12 个crate (4 个直接使用)

MIT/Apache

7KB
92 行代码

Linux/Unix文件描述符的非阻塞读写

Crates.io

示例

use std::convert::TryFrom;
use std::io::Result;

use tokio::prelude::*;
use tokio_fd::AsyncFd;

#[tokio::main]
async fn main() -> Result<()> {
    let mut stdin = AsyncFd::try_from(libc::STDIN_FILENO)?;
    let mut stdout = AsyncFd::try_from(libc::STDOUT_FILENO)?;
    let mut buf = vec![0; 1024];

    while let Ok(n) = stdin.read(&mut buf).await {
        stdout.write(&buf[..n]).await?;
    }
    Ok(())
}

许可证

本项目许可证为以下之一:

任选其一。

依赖项

~2–14MB
~109K SLoC