1 个稳定版本
1.0.0 | 2024年4月22日 |
---|
#566 in 编码
1,776 每月下载量
在 7 个 crates 中使用(通过 shors)
95KB
2K SLoC
RMP - Rust MessagePack
这是 https://github.com/3Hren/msgpack-rust 的分支。
RMP 是一个纯 Rust 的 MessagePack 实现。
该仓库包含三个独立的 crates:RMP 核心以及两个用于简化 Rust 结构体序列化和反序列化的实现。
crates.rs | API 文档 |
---|---|
RMP | |
RMP Serde | |
RMP 值 |
功能
-
方便的 API
RMP 被设计成轻量级和直观。它提供了低级 API,允许你对数据编码/解码过程有完全的控制,并且不进行堆分配。另一方面,它还提供了高级 API,通过使用 Rust 标准库和编译器反射提供了方便的接口,允许使用
derive
属性来编码/解码结构体。 -
零拷贝值解码
RMP 允许以零拷贝的方式轻松且快速地从缓冲区解码字节,同时 Rust 静态检查确保数据在缓冲区存在期间始终有效。
-
清晰的错误处理
RMP 的错误系统确保你永远不会接收到包含不可达变体的错误枚举。
-
健壮且经过测试
该项目使用 TDD 和 CI 进行开发,因此任何发现的错误都会得到修复而不会破坏现有功能。
要求
- Rust 1.53.0 或更高版本
依赖关系
~375–700KB
~13K SLoC