facet-postcard
facet-postcard
Postcard serialization and deserialization for Facet types.
Postcard is a compact, efficient binary serialization format designed for embedded and no_std environments. This crate provides byte-for-byte compatible output with the standard postcard crate, while using Facet's reflection capabilities instead of serde.
Features
- Compact binary format optimized for size
- Byte-for-byte compatibility with the
postcardcrate no_stdsupport with theallocfeature- Zero-copy deserialization where possible
Usage
use Facet;
use ;
// Serialize
let msg = Message ;
let bytes = to_vec.unwrap;
// Deserialize
let decoded: Message = from_slice.unwrap;
For no_std environments without an allocator, use to_slice:
# use Facet;
#
#
# let msg = Message ;
let mut buf = ;
let used = to_slice.unwrap;
Feature Flags
std(default): Enables standard library supportalloc: Enables heap allocation without full std (forno_stdwith allocator)
Sponsors
Thanks to all individual sponsors:
...along with corporate sponsors:
...without whom this work could not exist.
Special thanks
The facet logo was drawn by Misiasart.
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.