Module stack_test_epic_core::ser
source · [−]Expand description
Serialization and deserialization layer specialized for binary encoding. Ensures consistency and safety. Basically a minimal subset or rustc_serialize customized for our need.
To use it simply implement Writeable
or Readable
and then use the
serialize
or deserialize
functions on them as appropriate.
Re-exports
Structs
Utility to read from a binary source
Utility wrapper for an underlying byte Writer. Defines higher level methods to write numbers, byte vectors, hashes, etc.
Reader that exposes an Iterator interface.
Protocol version for serialization/deserialization. Note: This is used in various places including but limited to the p2p layer and our local db storage layer. We may speak multiple versions to various peers and a potentially different version for our local db.
A reader that reads straight off a stream. Tracks total bytes read so we can verify we read the right number afterwards.
Enums
Possible errors deriving from serializing or deserializing.
Signal to a serializable object how much of its data should be serialized
Traits
Useful marker trait on types that can be sized byte slices
Trait for types that serialize to a known fixed length.
Generic trait to ensure PMMR elements can be hashed with an index
Trait for types that can be added to a PMMR.
Trait that every type that can be deserialized from binary must implement. Reads directly to a Reader, a utility type thinly wrapping an underlying Read implementation.
Implementations defined how different numbers and binary structures are read from an underlying stream or container (depending on implementation).
Collections of items must be sorted lexicographically and all unique.
Trait that every type that can be serialized as binary must implement. Writes directly to a Writer, a utility type thinly wrapping an underlying Write implementation.
Implementations defined how different numbers and binary structures are written to an underlying stream or container (depending on implementation).
Functions
Deserializes a Readable from any std::io::Read implementation.
Deserialize a Readable based on our default “local” protocol version.
Reads multiple serialized items into a Vec.
Utility function to serialize a writeable directly in memory using a
Vec
Serializes a Writeable into any std::io::Write implementation.
Serialize a Writeable according to our default “local” protocol version.