Non-blocking Read and Write a Linux/Unix File Descriptor

Crates.io

Example

```rust 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::tryfrom(libc::STDINFILENO)?; let mut stdout = AsyncFd::tryfrom(libc::STDOUTFILENO)?; let mut buf = vec![0; 1024];

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

} ```

License

This project is licensed under either of

at your option.