pub struct MerkleTree { /* private fields */ }Expand description
Struct to maintain and compute Merkle Tree topology and layout.
Implementations§
Source§impl MerkleTree
impl MerkleTree
Sourcepub fn new(page_size: u32, data_pages: u32, digest_algo: Algorithm) -> Self
pub fn new(page_size: u32, data_pages: u32, digest_algo: Algorithm) -> Self
Create a new instance of MerkleTree.
Sourcepub fn digest_algorithm(&self) -> Algorithm
pub fn digest_algorithm(&self) -> Algorithm
Get digest algorithm used to generate the Merkle tree.
Sourcepub fn max_levels(&self) -> u32
pub fn max_levels(&self) -> u32
Get height of the Merkle tree, 0 means there is only a root digest for one data page.
Sourcepub fn level_pages(&self, level: u32) -> u32
pub fn level_pages(&self, level: u32) -> u32
Get number of pages to store digest at specified Merkle tree level.
Sourcepub fn level_entries(&self, level: u32) -> u32
pub fn level_entries(&self, level: u32) -> u32
Get number of digest entries at specified Merkle tree level.
Sourcepub fn level_index(&self, level: u32, page_index: u32) -> u32
pub fn level_index(&self, level: u32, page_index: u32) -> u32
Get entry index at the specified level covering the data page with index page_index.
Sourcepub fn level_base(&self, level: u32) -> u64
pub fn level_base(&self, level: u32) -> u64
Get base position of digest array for the specified Merkle tree level.
Sourcepub fn total_pages(&self) -> u32
pub fn total_pages(&self) -> u32
Get total pages needed to store the Merkle Tree.
Auto Trait Implementations§
impl Freeze for MerkleTree
impl RefUnwindSafe for MerkleTree
impl Send for MerkleTree
impl Sync for MerkleTree
impl Unpin for MerkleTree
impl UnwindSafe for MerkleTree
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