5个不稳定版本
0.3.0 | 2019年12月13日 |
---|---|
0.2.0 | 2019年9月30日 |
0.1.2 | 2019年8月30日 |
0.1.1 | 2019年8月3日 |
0.1.0 | 2019年7月28日 |
#981 in 异步
每月136次下载
在 2 crates 中使用
7KB
80 行
merge-io
Merge two separate AsyncRead
and AsyncWrite
objects into a single I/O stream.
lib.rs
:
Merge two separate AsyncRead
and AsyncWrite
objects into a single I/O stream.
示例
use merge_io::MergeIO;
use futures::io::Cursor;
use futures::{AsyncReadExt, AsyncWriteExt};
// Prepare `reader` to read data from...
let reader = Cursor::new(vec![1, 2, 3, 4]);
// ... and `writer` to read data to.
let writer: Vec<u8> = vec![];
// Merge `reader` and `writer` into a single I/O stream.
let mut stream = MergeIO::new(reader, writer);
// Read data from stream.
let mut read_buf = Vec::<u8>::with_capacity(1024);
stream.read_to_end(&mut read_buf).await?;
// We got what was in the `reader`!
assert_eq!(&read_buf, &[1, 2, 3, 4]);
// Write data to stream.
stream.write_all(&[10, 20, 30, 40]).await?;
// `writer` now contains what we wrote!
assert_eq!(stream.writer(), &[10, 20, 30, 40]);
依赖关系
~19KB