Crate peek_poke

source ·
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 of bytes. This allows deserialization to assert that at least T::max_size() bytes exist at all times.
  • Peek helper for constructing a T by Default initialized stack allocation.
  • Peek inplace a T from a slice of bytes, returning a slice of the remaining bytes. src must contain at least T::max_size() bytes.
  • Peek helper for constructing a T by Copying into an uninitialized stack allocation.
  • Poke helper to insert a serialized version of src at the beginning for dst.
  • Poke helper to append a serialized version of src to the end of dst.
  • read_verbatim 🔒
  • Remove the “red zone” (padding of zeroes) from the end of the vec of bytes. This is effectively the inverse of ensure_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 🔒

Unions

Derive Macros