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

BinverseError as well as a BinverseResult type alias.

Serialize/Deserialize implemnentations for primitive types.

Serialize/Deserialize traits as well as sized versions of the traits.

Provides Serializer/Deserializer types for reading and writing data.

Variable sized integer read/write functions.

Functions

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.

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.

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.

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.