Skip to content

pacmpkg/rawbin

rawbin

Minimal, pure-Rust bincode-like serializer/deserializer used by the pacm project. This crate provides a small, focused implementation that supports the subset of serde types required by pacm's lockfile handling.

Features

  • Pure Rust implementation (depends only on serde)
  • Two length-encoding modes: fixed-width (standard) and varint (legacy)
  • Configurable limits and trailing-bytes checks
  • Minimal bincode1::config::DefaultOptions compatibility helpers

Quick Start

Add the crate to your Cargo.toml:

[dependencies]
rawbin = "1"

Example usage (decoding):

use rawbin::config;
use rawbin::serde::decode_from_slice;

let data: &[u8] = &[]; // wire-format bytes
let cfg = config::standard().with_limit::<{16 * 1024 * 1024}>();
let (value, _read) = decode_from_slice::<YourType>(data, cfg).expect("decode");

Development

  • Build: cargo build
  • Test: cargo test
  • Run CI locally with act or use GitHub Actions

License

This project is dual-licensed under MIT OR Apache-2.0. See the LICENSE-MIT and LICENSE-APACHE files in this repository.

Contributing

Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md before contributing.

About

Minimal, pure-Rust bincode-like serializer/deserializer used by pacm

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE.txt
MIT
LICENSE-MIT.txt

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Languages