4 releases
0.1.3 | Apr 16, 2020 |
---|---|
0.1.2 | Apr 6, 2020 |
0.1.1 | Apr 4, 2020 |
0.1.0 | Apr 4, 2020 |
#1440 in Asynchronous
858 downloads per month
Used in 4 crates
(3 directly)
13KB
275 lines
async-pipe-rs
Creates an asynchronous piped reader and writer pair using tokio.rs
.
Usage
First add this to your Cargo.toml:
[dependencies]
async-pipe = "0.1"
An example:
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));
}
Contributing
Your PRs and stars are always welcome.
lib.rs
:
Creates an asynchronous piped reader and writer pair using tokio.rs
.
Examples
use async_pipe;
use tokio::prelude::*;
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));
tokio::runtime::Runtime::new().unwrap().block_on(run());
Dependencies
~3.5MB
~52K SLoC