Define get_data_from_file function on ReadablePMMR trait (#3464)

This commit is contained in:
jaspervdm 2020-10-07 14:09:27 +02:00 committed by GitHub
parent e7bbda81a0
commit 4c6d1dd4bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -40,6 +40,9 @@ pub trait ReadablePMMR {
/// Get the hash from the underlying MMR file (ignores the remove log).
fn get_from_file(&self, pos: u64) -> Option<Hash>;
/// Get the data element at provided position in the MMR (ignores the remove log).
fn get_data_from_file(&self, pos: u64) -> Option<Self::Item>;
/// Total size of the tree, including intermediary nodes and ignoring any pruning.
fn unpruned_size(&self) -> u64;
@ -412,6 +415,14 @@ where
}
}
fn get_data_from_file(&self, pos: u64) -> Option<Self::Item> {
if pos > self.last_pos {
None
} else {
self.backend.get_data_from_file(pos)
}
}
fn unpruned_size(&self) -> u64 {
self.last_pos
}

View file

@ -148,6 +148,14 @@ where
}
}
fn get_data_from_file(&self, pos: u64) -> Option<Self::Item> {
if pos > self.last_pos {
None
} else {
self.backend.get_data_from_file(pos)
}
}
fn unpruned_size(&self) -> u64 {
self.last_pos
}