pub struct MerkleRootBuilder<T> { /* private fields */ }Expand description
Calculates the merkle root for a given set of data. The leaf hashes of the merkle tree can
optionally be collected for use with crate::MerkleVerifier.
MerkleRootBuilder only accepts complete blocks of data except for the last block. This
avoids buffering data internally. If complete blocks of data can’t be guaranteed then
BufferedMerkleRootBuilder should be used instead.
Implementations§
Source§impl<T: LeafHashCollector> MerkleRootBuilder<T>
impl<T: LeafHashCollector> MerkleRootBuilder<T>
Sourcepub fn new(leaf_hash_collector: T) -> Self
pub fn new(leaf_hash_collector: T) -> Self
Creates a new MerkleRootBuilder with a LeafHashCollector.
Use MerkleRootBuilder::default() if a LeafHashCollector isn’t needed.
Sourcepub fn add_block(&mut self, data: &[u8; 8192])
pub fn add_block(&mut self, data: &[u8; 8192])
Appends a full block of data to the merkle tree.
MerkleRootBuilder doesn’t buffer any data so only full blocks can be added until
Self::complete is called. Use BufferedMerkleRootBuilder if buffering is required.
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for MerkleRootBuilder<T>where
T: Freeze,
impl<T> RefUnwindSafe for MerkleRootBuilder<T>where
T: RefUnwindSafe,
impl<T> Send for MerkleRootBuilder<T>where
T: Send,
impl<T> Sync for MerkleRootBuilder<T>where
T: Sync,
impl<T> Unpin for MerkleRootBuilder<T>where
T: Unpin,
impl<T> UnwindSafe for MerkleRootBuilder<T>where
T: 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