prev_key: Vec<u8>,
data: Vec<u8>,
restarts: Vec<usize>,
- count: usize,
+ pub(crate) count: usize,
pub(crate) restart_interval: usize,
finished: bool,
}
.zip(key.iter())
.take_while(|(a, b)| a == b)
.count();
- println!(
- "prev: {:?}\n key: {:?}\n shared: {}\n",
- self.prev_key, key, key_shared
- );
let key_unshared = key.len() - key_shared;
self.data.reserve(3 * 5 + key_unshared + val.len());
varint_append(&mut self.data, key_shared);
// private function, called by Drop when writer goes out of scope.
fn finish(&mut self) -> Result<()> {
+ if self.block.count > 0 {
+ self.write_block()?;
+ }
let b = self.index.as_slice();
self.meta.index_block_offset = self.written;
self.meta.bytes_index_block = b.len();