[−][src]Trait trie_root::TrieStream
Byte-stream oriented trait for constructing closed-form tries.
Required methods
fn new() -> Self
Construct a new TrieStream
fn append_empty_data(&mut self)
Append an Empty node
fn begin_branch(
&mut self,
maybe_key: Option<&[u8]>,
maybe_value: Option<&[u8]>,
has_children: impl Iterator<Item = bool>
)
&mut self,
maybe_key: Option<&[u8]>,
maybe_value: Option<&[u8]>,
has_children: impl Iterator<Item = bool>
)
Start a new Branch node, possibly with a value; takes a list indicating which slots in the Branch node has further child nodes.
fn append_leaf(&mut self, key: &[u8], value: &[u8])
Append a Leaf node
fn append_extension(&mut self, key: &[u8])
Append an Extension node
fn append_substream<H: Hasher>(&mut self, other: Self)
Append a Branch of Extension substream
fn out(self) -> Vec<u8>
Return the finished TrieStream
as a vector of bytes.
Provided methods
fn append_empty_child(&mut self)
Append an empty child node. Optional.
fn end_branch(&mut self, _value: Option<&[u8]>)
Wrap up a Branch node portion of a TrieStream
and append the value
stored on the Branch (if any).