#serialization #bindings #zserio

bin+lib rust-zserio

Rust 对 zserio 序列化协议的绑定

10 个版本

0.2.0 2024 年 8 月 16 日
0.1.0 2024 年 8 月 13 日
0.0.8 2024 年 7 月 16 日
0.0.5 2024 年 5 月 29 日
0.0.3 2023 年 9 月 19 日

#405 in #serialization

Download history 288/week @ 2024-05-25 37/week @ 2024-06-01 7/week @ 2024-06-08 2/week @ 2024-06-15 138/week @ 2024-06-29 153/week @ 2024-07-06 138/week @ 2024-07-13 6/week @ 2024-07-20 43/week @ 2024-07-27 228/week @ 2024-08-10 65/week @ 2024-08-17

336 每月下载量

BSD-3-Clause

2.5MB
27K SLoC

包含 (JAR 文件, 2.5MB) src/internal/parser/antlr-rust.jar

rust-zserio

zserio 为 Rust 提供序列化绑定。

CI 状态

build

快速开始

使用以下命令安装 rust-zserio

cargo install rust-zserio

生成 zserio 绑定

代码生成器使用以下命令执行

rust-zserio --root=<code_root_path> -o=<output_directory> <path_to_zserio_files>

这将生成读取/写入 zserio 编码的二进制数据所需的文件。可选的 root CLI 标志指定了包前缀。如果设置了前缀,rust-zserio 将生成一个 mod.rs 文件。如果没有设置前缀生成代码,rust-zserio 假设该包将作为库构建,并生成一个 lib.rs

开发状态

尽管该项目处于早期阶段,但它功能完整,应该可以与大多数 zserio 应用程序一起使用。已成功在示例项目中进行了测试,这些项目与 Python 参考实现进行了比较。尽管如此,该库的用户并不多,测试覆盖率很小。如果您发现任何问题,请报告它们。

开放项目

  • 约束尚未评估。
  • 适当的单元测试/端到端测试设置。
  • 生成的代码无法通过 lint 检查。
  • 清晰的错误处理和日志记录。
  • 升级到非测试版 ANTLR 解析器。
  • 解决所有 clippy 警告。
  • 性能评估和改进。

免责声明

这是我用业余时间写的第一个 Rust 项目,代码远非完美。我乐于接受任何建议,并学习如何编写更好的 Rust 代码,所以请随时提出 PR!

依赖关系

~6–17MB
~169K SLoC