Crates.io | buffertk |
lib.rs | buffertk |
version | 0.11.0 |
source | src |
created_at | 2023-04-04 23:49:20.526072 |
updated_at | 2024-12-04 14:19:37.761433 |
description | Buffertk provides tooling for serializing and deserializing data. |
homepage | |
repository | https://github.com/rescrv/blue |
max_upload_size | |
id | 830564 |
size | 51,981 |
Buffertk provides tooling for serializing and deserializing data.
Maintenance track. The library is considered stable and will be put into maintenance mode if unchanged for one year.
This library is about serialization and deserialization patterns that are common. It is chiefly intended to provide the primitives used by the prototk crate.
To pack, implement the [Packable] trait and use [stack_pack].
use buffertk::{v64, stack_pack};
let x = v64::from(42);
let buf: &[u8] = &stack_pack(x).to_vec();
assert_eq!(&[42u8], buf);
Unpacking uses the [Unpackable] trait or the [Unpacker].
use buffertk::{v64, Unpacker};
let mut up = Unpacker::new(&[42u8]);
let x: v64 = up.unpack().expect("[42] is a valid varint; something's wrong");
assert_eq!(42u64, x.into());
The latest documentation is always available at docs.rs.