Trait reference_trie::TrieStream
source · [−]pub trait TrieStream {
fn new() -> Self;
fn append_empty_data(&mut self);
fn begin_branch(
&mut self,
maybe_key: Option<&[u8]>,
maybe_value: Option<Value<'_>>,
has_children: impl Iterator<Item = bool>
);
fn append_leaf(&mut self, key: &[u8], value: Value<'_>);
fn append_extension(&mut self, key: &[u8]);
fn append_substream<H>(&mut self, other: Self)
where
H: Hasher;
fn out(self) -> Vec<u8, Global>;
fn append_empty_child(&mut self) { ... }
fn end_branch(&mut self, _value: Option<Value<'_>>) { ... }
}
Expand description
Byte-stream oriented trait for constructing closed-form tries.
Required Methods
fn append_empty_data(&mut self)
fn append_empty_data(&mut self)
Append an Empty node
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: Value<'_>)
fn append_leaf(&mut self, key: &[u8], value: Value<'_>)
Append a Leaf node
fn append_extension(&mut self, key: &[u8])
fn append_extension(&mut self, key: &[u8])
Append an Extension node
fn append_substream<H>(&mut self, other: Self) where
H: Hasher,
fn append_substream<H>(&mut self, other: Self) where
H: Hasher,
Append a Branch of Extension substream
Provided Methods
fn append_empty_child(&mut self)
fn append_empty_child(&mut self)
Append an empty child node. Optional.
fn end_branch(&mut self, _value: Option<Value<'_>>)
fn end_branch(&mut self, _value: Option<Value<'_>>)
Wrap up a Branch node portion of a TrieStream
and append the value
stored on the Branch (if any).