pub struct ReferenceNodeCodec<H>(/* private fields */);
Expand description
Simple reference implementation of a NodeCodec
.
Trait Implementations§
Source§impl<H: Clone> Clone for ReferenceNodeCodec<H>
impl<H: Clone> Clone for ReferenceNodeCodec<H>
Source§fn clone(&self) -> ReferenceNodeCodec<H>
fn clone(&self) -> ReferenceNodeCodec<H>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<H: Default> Default for ReferenceNodeCodec<H>
impl<H: Default> Default for ReferenceNodeCodec<H>
Source§fn default() -> ReferenceNodeCodec<H>
fn default() -> ReferenceNodeCodec<H>
Returns the “default value” for a type. Read more
Source§impl<H: Hasher> NodeCodec for ReferenceNodeCodec<H>
impl<H: Hasher> NodeCodec for ReferenceNodeCodec<H>
Source§fn hashed_null_node() -> <H as Hasher>::Out
fn hashed_null_node() -> <H as Hasher>::Out
Get the hashed null node.
Source§fn decode_plan(data: &[u8]) -> Result<NodePlan, Self::Error>
fn decode_plan(data: &[u8]) -> Result<NodePlan, Self::Error>
Decode bytes to a
NodePlan
. Returns Self::E
on failure.Source§fn is_empty_node(data: &[u8]) -> bool
fn is_empty_node(data: &[u8]) -> bool
Check if the provided bytes correspond to the codecs “empty” node.
Source§fn empty_node() -> &'static [u8] ⓘ
fn empty_node() -> &'static [u8] ⓘ
Returns an encoded empty node.
Source§fn leaf_node(
partial: impl Iterator<Item = u8>,
number_nibble: usize,
value: Value<'_>,
) -> Vec<u8> ⓘ
fn leaf_node( partial: impl Iterator<Item = u8>, number_nibble: usize, value: Value<'_>, ) -> Vec<u8> ⓘ
Returns an encoded leaf node Read more
Source§fn extension_node(
partial: impl Iterator<Item = u8>,
number_nibble: usize,
child: ChildReference<Self::HashOut>,
) -> Vec<u8> ⓘ
fn extension_node( partial: impl Iterator<Item = u8>, number_nibble: usize, child: ChildReference<Self::HashOut>, ) -> Vec<u8> ⓘ
Returns an encoded extension node Read more
Source§fn branch_node(
children: impl Iterator<Item = impl Borrow<Option<ChildReference<Self::HashOut>>>>,
maybe_value: Option<Value<'_>>,
) -> Vec<u8> ⓘ
fn branch_node( children: impl Iterator<Item = impl Borrow<Option<ChildReference<Self::HashOut>>>>, maybe_value: Option<Value<'_>>, ) -> Vec<u8> ⓘ
Returns an encoded branch node.
Takes an iterator yielding
ChildReference<Self::HashOut>
and an optional value.Source§fn branch_node_nibbled(
_partial: impl Iterator<Item = u8>,
_number_nibble: usize,
_children: impl Iterator<Item = impl Borrow<Option<ChildReference<Self::HashOut>>>>,
_maybe_value: Option<Value<'_>>,
) -> Vec<u8> ⓘ
fn branch_node_nibbled( _partial: impl Iterator<Item = u8>, _number_nibble: usize, _children: impl Iterator<Item = impl Borrow<Option<ChildReference<Self::HashOut>>>>, _maybe_value: Option<Value<'_>>, ) -> Vec<u8> ⓘ
Returns an encoded branch node with a possible partial path.
number_nibble
is the partial path length as in extension_node
.Source§const ESCAPE_HEADER: Option<u8> = None
const ESCAPE_HEADER: Option<u8> = None
Escape header byte sequence to indicate next node is a
branch or leaf with hash of value, followed by the value node.
Auto Trait Implementations§
impl<H> Freeze for ReferenceNodeCodec<H>
impl<H> RefUnwindSafe for ReferenceNodeCodec<H>where
H: RefUnwindSafe,
impl<H> Send for ReferenceNodeCodec<H>where
H: Send,
impl<H> Sync for ReferenceNodeCodec<H>where
H: Sync,
impl<H> Unpin for ReferenceNodeCodec<H>where
H: Unpin,
impl<H> UnwindSafe for ReferenceNodeCodec<H>where
H: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more