pub trait TreeReader {
// Required methods
fn root_info(&self) -> Result<(PageId, MerkleHash)>;
fn page_digest(&self, page_id: PageId) -> Result<PageDigest>;
fn leaf_entries(&self, page_id: PageId) -> Result<Vec<DiffEntry>>;
// Provided method
fn subtree_entries(&self, page_id: PageId) -> Result<Vec<DiffEntry>> { ... }
}Expand description
Abstraction for reading tree structure during diff.
For local databases, LocalTreeReader reads from TxnManager directly.
For remote databases, the transport layer implements this via message exchange.
Required Methods§
Sourcefn root_info(&self) -> Result<(PageId, MerkleHash)>
fn root_info(&self) -> Result<(PageId, MerkleHash)>
Root page ID and its Merkle hash.
Sourcefn page_digest(&self, page_id: PageId) -> Result<PageDigest>
fn page_digest(&self, page_id: PageId) -> Result<PageDigest>
Read a page digest (hash + type + children).