[][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.