[−][src]Module grin_core::ser
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.
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. |
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 |
Traits
AsFixedBytes | Useful marker trait on types that can be sized byte slices |
FixedLength | Trait for types that serialize to a known fixed length. |
PMMRIndexHashable | Generic trait to ensure PMMR elements can be hashed with an index |
PMMRable | Trait for types that can be added to a PMMR. |
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). |
VerifySortedAndUnique | Collections of items must be sorted lexicographically and all unique. |
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. |
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. |