Expand description
BinVerSe (Binary Versioned Serialization) provides fast, compact and simple
serialization of Rust data structures. Data is simply written to a binary
stream without any additional information. Backwards compatibility is
ensured through a global data revision number. With the binverse_derive
crate, the binverse_derive::serializable
attribute macro automatically
implements the Serialize
/Deserialize
traits
Modules§
- error
- BinverseError as well as a BinverseResult type alias.
- primitives
- Serialize/Deserialize implemnentations for primitive types.
- serialize
- Serialize/Deserialize traits as well as sized versions of the traits.
- streams
- Provides Serializer/Deserializer types for reading and writing data.
- varint
- Variable sized integer read/write functions.
Functions§
- read
- Reads a single object from a reader. When reading multiple objects, use Deserializer instead. The revision is also read from the reader so old data can be read.
- read_
no_ revision - Reads a single object from a reader without reading a revision. When reading multiple objects, use
Deserializer instead. The
revision
has to be supplied as a parameter. This can be used when the data won’t change in the future or the revision can be implied from context when reading. This is the counterpart to write_no_revision. - write
- Writes a single object to a writer. When writing multiple objects, use Serializer instead. The revision is also written to the writer for data backwards compatiblity.
- write_
no_ revision - Writes a single object to a writer without writing the revision. When writing multiple objects, use Serializer instead. If you want to be able to parse data in future versions, use the regular write() function. This can be used when the data won’t change in the future or the revision can be implied from context when reading.