pub trait SerialCtx {
    // Required method
    fn serial_ctx<W>(
&self,
size_length: SizeLength,
out: &mut W
) -> Result<(), <W as Write>::Err>
where W: Write; }
Expand description

The SerialCtx trait provides a means of writing structures into byte-sinks (Write) using contextual information. The contextual information is:

  • size_length: The number of bytes used to record the length of the data.

Required Methods§

source

fn serial_ctx<W>(
&self,
size_length: SizeLength,
out: &mut W
) -> Result<(), <W as Write>::Err>where
W: Write,

Attempt to write the structure into the provided writer, failing if if the length cannot be represented in the provided size_length or only part of the structure could be written.

NB: We use Result instead of Option for better composability with other constructs.

Implementations on Foreign Types§

source§

impl<K> SerialCtx for HashSet<K, BuildHasherDefault<FnvHasher>, Global>where
K: Serial,

Serialization for HashSet given a size_len. Values are not serialized in any particular order.

source§

fn serial_ctx<W>(
&self,
size_len: SizeLength,
out: &mut W
) -> Result<(), <W as Write>::Err>where
W: Write,

source§

impl<T> SerialCtx for &[T]where
T: Serial,

source§

fn serial_ctx<W>(
&self,
size_len: SizeLength,
out: &mut W
) -> Result<(), <W as Write>::Err>where
W: Write,

source§

impl<K, V> SerialCtx for HashMap<K, V, BuildHasherDefault<FnvHasher>, Global>where
K: Serial,
V: Serial,

Serialization for HashMap given a size_len. Keys are not serialized in any particular order.

source§

fn serial_ctx<W>(
&self,
size_len: SizeLength,
out: &mut W
) -> Result<(), <W as Write>::Err>where
W: Write,

source§

impl SerialCtx for &str

source§

fn serial_ctx<W>(
&self,
size_len: SizeLength,
out: &mut W
) -> Result<(), <W as Write>::Err>where
W: Write,

Implementors§

source§

impl SerialCtx for String

source§

impl<K> SerialCtx for BTreeSet<K, Global>where
K: Serial + Ord,

source§

impl<K, V> SerialCtx for BTreeMap<K, V, Global>where
K: Serial + Ord,
V: Serial,

source§

impl<T> SerialCtx for Vec<T, Global>where
T: Serial,