#io-uring #async #run-time

monoio-codec

为Monoio提供的编解码器

11个不稳定版本 (3个破坏性更新)

0.3.4 2024年3月5日
0.3.1 2023年12月20日
0.3.0 2023年11月14日
0.1.0 2023年6月15日
0.0.0 2024年1月15日

#223 in 异步

Download history 3/week @ 2024-04-14 6/week @ 2024-04-21 32/week @ 2024-04-28 5/week @ 2024-05-05 16/week @ 2024-05-12 84/week @ 2024-05-19 70/week @ 2024-05-26 49/week @ 2024-06-02 35/week @ 2024-06-09 29/week @ 2024-06-16 61/week @ 2024-06-23 69/week @ 2024-06-30 25/week @ 2024-07-07 51/week @ 2024-07-14 7/week @ 2024-07-21 28/week @ 2024-07-28

111 每月下载量
用于 4 个crate(直接使用3个)

MIT/Apache

76KB
1K SLoC

Monoio-codec

Crates.io MIT/Apache-2 licensed

本crate提供了2个工具

  1. FramedFramedReadFramedWrite:类似于tokio-util中的相同功能,但使用monoio纯异步 AsyncReadRentAsyncWriteRentSinkStream
  2. AsyncEncoderAsyncDecoder:异步流式编解码的trait。

如果目标编解码器设计为可以在低成本的情况下从头部读取所需的所有数据长度,则使用同步编解码器可以带来更好的性能。如果不可以这样设计,则可以使用我们的异步编解码器trait。

注意:这两种模式可以同时使用,因为我们的 Framed 也是一个 BufIo。它实现了 AsyncReadRentAsyncWriteRent。如果用户知道要读取多少数据,可以直接从它那里读取,从而避免数据复制或缓冲区增长。

依赖项

~4–15MB
~139K SLoC