Expand description
Fast binary serialization and deserialization for types with a known maximum size.
Binary Encoding Scheme
Usage
Comparison to bincode
Modules
Macros
Traits
- A trait for values that provide deserialization from buffers of bytes.
- A trait for values that provide serialization into buffers of bytes.
Functions
- Add
T::max_size()
“red zone” (padding of zeroes) to the end of the vec ofbytes
. This allows deserialization to assert that at leastT::max_size()
bytes exist at all times. - Peek helper for constructing a
T
byDefault
initialized stack allocation. - Peek inplace a
T
from a slice of bytes, returning a slice of the remaining bytes.src
must contain at leastT::max_size()
bytes. - Peek helper for constructing a
T
byCopy
ing into an uninitialized stack allocation. - Poke helper to insert a serialized version of
src
at the beginning fordst
. - Poke helper to append a serialized version of
src
to the end ofdst
. - read_verbatim 🔒 ⚠
- Remove the “red zone” (padding of zeroes) from the end of the vec of
bytes
. This is effectively the inverse ofensure_red_zone
, with the caveat that space reserved for the red zone is not un-reserved. Callers are repsonsible for making sure the vec actually has a red zone, otherwise data bytes can get stripped instead. - write_verbatim 🔒 ⚠