pub struct MerkleTreeBuilder<D> { /* private fields */ }Expand description
A MerkleTreeBuilder generates a MerkleTree from one or more write calls.
Implementations§
Source§impl<D: FsVerityHash> MerkleTreeBuilder<D>
impl<D: FsVerityHash> MerkleTreeBuilder<D>
Sourcepub fn new(hasher: FsVerityHasher) -> Self
pub fn new(hasher: FsVerityHasher) -> Self
Creates a new, empty MerkleTreeBuilder.
Sourcepub fn write(&mut self, buf: &[u8])
pub fn write(&mut self, buf: &[u8])
Append a buffer of bytes to the merkle tree.
No internal buffering is required if all writes are self.hasher.block_size() aligned.
Sourcepub fn push_data_hash(&mut self, hash: D)
pub fn push_data_hash(&mut self, hash: D)
Save a data block hash, propagating full blocks of hashes to higher layers. Also clear a stored data block.
Sourcepub fn finish(self) -> MerkleTree
pub fn finish(self) -> MerkleTree
Finalize all levels of the merkle tree, converting this MerkleTreeBuilder instance to a
MerkleTree.
Trait Implementations§
Source§impl<D: Clone> Clone for MerkleTreeBuilder<D>
impl<D: Clone> Clone for MerkleTreeBuilder<D>
Source§fn clone(&self) -> MerkleTreeBuilder<D>
fn clone(&self) -> MerkleTreeBuilder<D>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<D> Freeze for MerkleTreeBuilder<D>
impl<D> RefUnwindSafe for MerkleTreeBuilder<D>where
D: RefUnwindSafe,
impl<D> Send for MerkleTreeBuilder<D>where
D: Send,
impl<D> Sync for MerkleTreeBuilder<D>where
D: Sync,
impl<D> Unpin for MerkleTreeBuilder<D>where
D: Unpin,
impl<D> UnsafeUnpin for MerkleTreeBuilder<D>
impl<D> UnwindSafe for MerkleTreeBuilder<D>where
D: 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