#序列化 #MessagePack #serde

picodata-rmp-serde

Serde 对 RMP 的绑定(从 rmp-serde 分支出来)

1 个稳定版本

1.0.0 2024年4月22日

#566 in 编码

Download history 24/week @ 2024-04-27 17/week @ 2024-05-04 94/week @ 2024-05-11 180/week @ 2024-05-18 284/week @ 2024-05-25 434/week @ 2024-06-01 322/week @ 2024-06-08 307/week @ 2024-06-15 317/week @ 2024-06-22 457/week @ 2024-06-29 296/week @ 2024-07-06 265/week @ 2024-07-13 416/week @ 2024-07-20 456/week @ 2024-07-27 430/week @ 2024-08-03 423/week @ 2024-08-10

1,776 每月下载量
7 个 crates 中使用(通过 shors

MIT 许可证

95KB
2K SLoC

RMP - Rust MessagePack

这是 https://github.com/3Hren/msgpack-rust 的分支。

RMP 是一个纯 Rust 的 MessagePack 实现。

Build Status Coverage Status

该仓库包含三个独立的 crates:RMP 核心以及两个用于简化 Rust 结构体序列化和反序列化的实现。

crates.rs API 文档
rmp RMP
rmps RMP Serde
rmpv RMP 值

功能

  • 方便的 API

    RMP 被设计成轻量级和直观。它提供了低级 API,允许你对数据编码/解码过程有完全的控制,并且不进行堆分配。另一方面,它还提供了高级 API,通过使用 Rust 标准库和编译器反射提供了方便的接口,允许使用 derive 属性来编码/解码结构体。

  • 零拷贝值解码

    RMP 允许以零拷贝的方式轻松且快速地从缓冲区解码字节,同时 Rust 静态检查确保数据在缓冲区存在期间始终有效。

  • 清晰的错误处理

    RMP 的错误系统确保你永远不会接收到包含不可达变体的错误枚举。

  • 健壮且经过测试

    该项目使用 TDD 和 CI 进行开发,因此任何发现的错误都会得到修复而不会破坏现有功能。

要求

  • Rust 1.53.0 或更高版本

依赖关系

~375–700KB
~13K SLoC