in common/rusty_leveldb_sgx/src/version_set.rs [455:480]
fn write_snapshot(&mut self) -> Result<usize> {
assert!(self.descriptor_log.is_some());
let mut edit = VersionEdit::new();
edit.set_comparator_name(self.opt.cmp.id());
// Save compaction pointers.
for level in 0..NUM_LEVELS {
if !self.compaction_ptrs[level].is_empty() {
edit.set_compact_pointer(level, &self.compaction_ptrs[level]);
}
}
let current = self.current.as_ref().unwrap().borrow();
// Save files.
for level in 0..NUM_LEVELS {
let fs = ¤t.files[level];
for f in fs {
edit.add_file(level, f.borrow().clone());
}
}
self.descriptor_log
.as_mut()
.unwrap()
.add_record(&edit.encode())
}