use async_pipe; use tokio::prelude::*; #[tokio::main] async fn main() { let (mut w, mut r) = async_pipe::pipe(); tokio::spawn(async move { w.write_all(b"hello world").await.unwrap(); }); let mut v = Vec::new(); r.read_to_end(&mut v).await.unwrap(); println!("Received: {:?}", String::from_utf8(v)); }