[−][src]Module mohan::ser
Serilization Serialization and deserialization layer specialized for binary encoding. Ensures consistency and safety.
To use it simply implement Writeable
or Readable
and then use the
serialize
or deserialize
functions on them as appropriate.
Structs
BinReader | Utility to read from a binary source |
BinWriter | Utility wrapper for an underlying byte Writer. Defines higher level methods to write numbers, byte vectors, hashes, etc. |
IteratingReader | Reader that exposes an Iterator interface. |
ProtocolVersion | Protocol version for serialization/deserialization. |
StreamingReader | A reader that reads straight off a stream. Tracks total bytes read so we can verify we read the right number afterwards. |
Enums
Error | Possible errors deriving from serializing or deserializing. |
SerializationMode | Signal to a serializable object how much of its data should be serialized |
Constants
PROTOCOL_VERSION | The Mohan Encoding Protocol Version. |
Traits
AsFixedBytes | Useful marker trait on types that can be sized byte slices |
FixedLength | Trait for types that serialize to a known fixed length. |
Readable | 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. |
Reader | Implementations defined how different numbers and binary structures are read from an underlying stream or container (depending on implementation). |
Writeable | 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. |
Writer | Implementations defined how different numbers and binary structures are written to an underlying stream or container (depending on implementation). |
Functions
deserialize | Deserializes a Readable from any std::io::Read implementation. |
deserialize_default | Deserialize a Readable based on our default "local" protocol version. |
read_multi | Reads multiple serialized items into a Vec. |
ser_vec | Utility function to serialize a writeable directly in memory using a
Vec |
serialize | Serializes a Writeable into any std::io::Write implementation. |
serialize_default | Serialize a Writeable according to our default "local" protocol version. |