template <typename T, typename VP, class MT, class HL>
class MerkleTree
Defined at line 28 of file ../../src/lib/digest/merkle-tree.h
|digest::internal::MerkleTree| contains common Merkle tree code. Callers MUST NOT use this
class directly. See |digest::MerkleTreeCreator| and |digest::MerkleTreeVerifier| below.
Protected Members
HL hash_list_
std::unique_ptr<MT> next_
Public Methods
void MerkleTree<T, VP, MT, HL> ()
Defined at line 30 of file ../../src/lib/digest/merkle-tree.h
void ~MerkleTree<T, VP, MT, HL> ()
Defined at line 31 of file ../../src/lib/digest/merkle-tree.h
void MerkleTree<T, VP, MT, HL> (const MerkleTree<T, VP, MT, HL> & )
Defined at line 32 of file ../../src/lib/digest/merkle-tree.h
void MerkleTree<T, VP, MT, HL> (MerkleTree<T, VP, MT, HL> && )
Defined at line 32 of file ../../src/lib/digest/merkle-tree.h
MerkleTree<T, VP, MT, HL> & operator= (const MerkleTree<T, VP, MT, HL> & )
Defined at line 32 of file ../../src/lib/digest/merkle-tree.h
MerkleTree<T, VP, MT, HL> & operator= (MerkleTree<T, VP, MT, HL> && )
Defined at line 32 of file ../../src/lib/digest/merkle-tree.h
size_t GetNodeSize ()
Defined at line 34 of file ../../src/lib/digest/merkle-tree.h
void SetNodeSize (size_t node_size)
Defined at line 35 of file ../../src/lib/digest/merkle-tree.h
bool GetUseCompactFormat ()
Defined at line 39 of file ../../src/lib/digest/merkle-tree.h
bool IsAligned (size_t data_off)
Returns true if |data_off| is aligned to a node boundary.
Defined at line 42 of file ../../src/lib/digest/merkle-tree.h
zx_status_t Align (size_t * data_off, size_t * buf_len)
Modifies |data_off| and |buf_len| to be aligned to the minimum number of nodes that covered
their original range.
Defined at line 46 of file ../../src/lib/digest/merkle-tree.h
void SetUseCompactFormat (bool use_compact_format)
When set to |true| the hash lists in the tree will not contain padding.
Defined at line 74 of file ../../src/lib/digest/merkle-tree.cc
zx_status_t SetDataLength (size_t data_len)
MerkleTree
Defined at line 26 of file ../../src/lib/digest/merkle-tree.cc
size_t GetTreeLength ()
Returns the minimum size needed to hold a Merkle tree for the given |data_len|. The tree
consists of all the nodes containing the digests of child nodes. It does NOT include the root
digest, which must be passed to |Verify| after a trust decision has been made. This means that
when the |data_len| is less than |NodeSize|, this method will return 0.
Defined at line 48 of file ../../src/lib/digest/merkle-tree.cc
zx_status_t SetTree (VP tree, size_t tree_len, VP root, size_t root_len)
Registers |tree| as a Merkle tree for |data_len_| bytes of data, rooted by a digest of given by
|root|.
Defined at line 57 of file ../../src/lib/digest/merkle-tree.cc