A simple binary serialization protocol for Rust.
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);