add compaction controller + simulator
Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
This commit is contained in:
25
mini-lsm/src/compact/leveled.rs
Normal file
25
mini-lsm/src/compact/leveled.rs
Normal file
@@ -0,0 +1,25 @@
|
||||
use crate::lsm_storage::LsmStorageInner;
|
||||
|
||||
pub struct LeveledCompactionTask {
|
||||
upper_level: usize,
|
||||
upper_level_sst_ids: Vec<usize>,
|
||||
lower_level: usize,
|
||||
lower_level_sst_ids: Vec<usize>,
|
||||
}
|
||||
|
||||
pub struct LeveledCompactionController {}
|
||||
|
||||
impl LeveledCompactionController {
|
||||
pub fn generate_compaction_task(&self, snapshot: &LsmStorageInner) -> LeveledCompactionTask {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
pub fn apply_compaction_result(
|
||||
&self,
|
||||
snapshot: &LsmStorageInner,
|
||||
task: &LeveledCompactionTask,
|
||||
output: &[usize],
|
||||
) -> (LsmStorageInner, Vec<usize>) {
|
||||
unimplemented!()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user