#io-stream #io #async-io #async #object

merge-io

通过合并两个单独的 AsyncReadAsyncWrite 对象,将它们合并成一个 I/O 流

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 异步

Download history • Rust 包仓库 21/week @ 2024-03-11 • Rust 包仓库 18/week @ 2024-03-18 • Rust 包仓库 24/week @ 2024-03-25 • Rust 包仓库 73/week @ 2024-04-01 • Rust 包仓库 77/week @ 2024-04-08 • Rust 包仓库 70/week @ 2024-04-15 • Rust 包仓库 37/week @ 2024-04-22 • Rust 包仓库 45/week @ 2024-04-29 • Rust 包仓库 30/week @ 2024-05-06 • Rust 包仓库 42/week @ 2024-05-13 • Rust 包仓库 55/week @ 2024-05-20 • Rust 包仓库 26/week @ 2024-05-27 • Rust 包仓库 66/week @ 2024-06-03 • Rust 包仓库 21/week @ 2024-06-10 • Rust 包仓库 15/week @ 2024-06-17 • Rust 包仓库 32/week @ 2024-06-24 • Rust 包仓库

每月136次下载
2 crates 中使用

MIT 许可证

7KB
80

merge-io

Build Status Crates.io Documentation

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