vexil-runtime 0.2.2

Runtime support for Vexil generated code — bit-level I/O, Pack/Unpack traits, wire encoding primitives
Documentation

vexil-runtime

Runtime support library for code generated by the Vexil schema compiler.

This crate is a dependency of generated Rust code, not of hand-written application code. You typically add it when using vexil-codegen-rust.

What's included

  • BitWriter / BitReader — LSB-first bit-level I/O for sub-byte integer types (u1..u7)
  • Pack / Unpack traits — implemented by generated structs and enums
  • LEB128 — unsigned and signed variable-length integer encoding
  • ZigZag — signed integer encoding (i32/i64 → unsigned zigzag)
  • WireError — structured error type for decode failures

Wire format

Vexil uses LSB-first bit packing. A u3 field occupies exactly 3 bits on the wire. Fields are packed left-to-right within a byte, with no padding between fields unless the total bit count is not byte-aligned.

License

Licensed under either of MIT or Apache-2.0 at your option.