Introduce window size to fix hidden entries

This commit is contained in:
Julien Cretin
2021-10-01 17:50:49 +02:00
committed by Julien Cretin
parent 9dc5286633
commit af3bee64a5
3 changed files with 96 additions and 65 deletions

View File

@@ -532,7 +532,7 @@ impl<S: Storage> Store<S> {
self.entries = Some(Vec::new());
let mut pos = or_invalid(self.head)?;
let mut prev_pos = pos;
let end = pos + self.format.virt_size();
let end = pos + self.format.window_size();
while pos < end {
let entry_pos = pos;
match self.parse_entry(&mut pos)? {
@@ -789,7 +789,7 @@ impl<S: Storage> Store<S> {
fn transaction_apply(&mut self, sorted_keys: &[Nat], marker: Position) -> StoreResult<()> {
self.delete_keys(&sorted_keys, marker)?;
self.set_padding(marker)?;
let end = or_invalid(self.head)? + self.format.virt_size();
let end = or_invalid(self.head)? + self.format.window_size();
let mut pos = marker + 1;
while pos < end {
let entry_pos = pos;