#bindings #serialization #zserio

bin+lib rust-zserio

Rust bindings for the zserio serialization protocol

3 releases

0.0.3 Sep 19, 2023
0.0.2 Sep 14, 2023
0.0.1 Sep 11, 2023

#618 in #serialization

21 downloads per month

BSD-3-Clause

2.5MB
22K SLoC

Contains (JAR file, 2.5MB) src/internal/parser/antlr-rust.jar

rust-zserio

zserio serialization bindings for Rust.

CI Status

build

How to Run

You can run the code generator using the following command:

cargo run -- --root=<code_root_path> -o=<output_directory> <path_to_zserio_files>

This will generate the files needed to read/write zserio-encoded binary data.

Development Status

Although the project is in its early stages, it is feature-complete and should work with most zserio applications. Successful test runs were done with sample projects, that were compared against the Python reference implementation. Nevertheless, the library does not have many users yet, and test coverage is small. If you find issues, please report them.

Open Items

  • constraints are not evaluated yet.
  • proper unit test / e2e test setup.
  • compare with the reference Python/C++ implementation.
  • the generated code fails the lint checks.
  • clean and structured error handling and logging.
  • upgrade to a non-beta ANTLR parser.
  • resolve all clippy warnings.
  • performance evaluation and improvements.
  • generate a mod.rs file.

Disclaimer

This is my very first rust project written in my spare time, so the code is far from perfect. I am happy to receive any suggestions and to learn on how to write better rust code, so please raise a PR or an issue if you have suggestions!

Dependencies

~6–15MB
~175K SLoC