22 releases

new 0.1.27 Jul 18, 2024
0.1.26 Jul 16, 2024
0.1.23 Jun 24, 2024
0.1.7 May 15, 2024
0.1.4 Apr 25, 2024

#1363 in Encoding

Download history 448/week @ 2024-04-20 28/week @ 2024-04-27 262/week @ 2024-05-04 199/week @ 2024-05-11 15/week @ 2024-05-18 18/week @ 2024-05-25 15/week @ 2024-06-01 17/week @ 2024-06-08 713/week @ 2024-06-15 514/week @ 2024-06-22 70/week @ 2024-06-29 156/week @ 2024-07-06 272/week @ 2024-07-13

1,293 downloads per month

MIT/Apache

48KB
1K SLoC

derse

Rust codecov

A simple binary serialization protocol for Rust.

Usage

To use this library, add the following to your Cargo.toml:

[dependencies]
derse = "0.1"

Then, you can import and use the components as follows:

use derse::{Deserialize, DownwardBytes, Serialize};

// 1. serialization for basic types.
let ser = "hello world!";
let bytes = ser.serialize::<DownwardBytes>().unwrap();
let der = String::deserialize(&bytes[..]).unwrap();
assert_eq!(ser, der);

// 2. serialization for custom structs.
#[derive(Debug, Default, Deserialize, Serialize, PartialEq)]
pub struct Demo {
    a: i32,
    b: String,
    c: Vec<String>,
}
let ser = Demo::default();
let bytes = ser.serialize::<DownwardBytes>().unwrap();
let der = Demo::deserialize(&bytes[..]).unwrap();
assert_eq!(ser, der);

Dependencies

~310–770KB
~18K SLoC