Crate tokio_pipe
source · [−]Expand description
Asynchronous pipe(2) library using tokio.
Example
use tokio::io::{AsyncReadExt, AsyncWriteExt};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let (mut r, mut w) = tokio_pipe::pipe()?;
w.write_all(b"HELLO, WORLD!").await?;
let mut buf = [0; 16];
let len = r.read(&mut buf[..]).await?;
assert_eq!(&buf[..len], &b"HELLO, WORLD!"[..]);
Ok(())
}
Structs
A buffer that can be written atomically
IoSlice
s that can be written atomically
Pipe read
Pipe write
Constants
Functions
Open pipe
Moves data between pipes without copying between kernel address space and user address space.
Duplicates up to len bytes of data from pipe_in to pipe_out.