16 个不稳定版本 (3 个重大变更)
0.4.1 | 2020 年 6 月 21 日 |
---|---|
0.4.0 | 2020 年 1 月 26 日 |
0.3.4 | 2019 年 12 月 14 日 |
0.3.3 | 2019 年 11 月 29 日 |
0.2.5 | 2019 年 7 月 22 日 |
#961 在 异步 中
每月下载量 25,855
在 不到 15 个 crates 中使用
42KB
872 行
futures_codec
使用 async/await 编解码帧的实用工具。
包含将字节流、AsyncRead
和 AsyncWrite
转换为实现 Sink
和 Stream
的帧流的适配器。帧流也称为传输。
示例
use futures_codec::{LinesCodec, Framed};
async fn main() {
// let stream = ...
let mut framed = Framed::new(stream, LinesCodec {});
while let Some(line) = framed.try_next().await.unwrap() {
println!("{:?}", line);
}
}
lib.rs
:
使用 async/await 编解码帧的实用工具。
包含将字节流、AsyncRead
和 AsyncWrite
转换为实现 Sink
和 Stream
的帧流的适配器。帧流也称为 transports
。
use futures::TryStreamExt;
use futures::io::Cursor;
use futures_codec::{LinesCodec, Framed};
let io = Cursor::new(Vec::new());
let mut framed = Framed::new(io, LinesCodec);
while let Some(line) = framed.try_next().await? {
dbg!(line);
}
依赖项
~2.2–3MB
~64K SLoC