add compaction controller + simulator

Signed-off-by: Alex Chi Z <iskyzh@gmail.com>
This commit is contained in:
Alex Chi Z
2024-01-16 16:30:01 +08:00
parent 327f6badef
commit a9fca43f79
11 changed files with 349 additions and 143 deletions

View File

@@ -0,0 +1,23 @@
use crate::lsm_storage::LsmStorageInner;
use crate::table::SsTable;
pub struct TieredCompactionTask {
tiers: Vec<usize>,
}
pub struct TieredCompactionController {}
impl TieredCompactionController {
pub fn generate_compaction_task(&self, snapshot: &LsmStorageInner) -> TieredCompactionTask {
return TieredCompactionTask { tiers: Vec::new() };
}
pub fn apply_compaction_result(
&self,
snapshot: &LsmStorageInner,
task: &TieredCompactionTask,
output: &[usize],
) -> (LsmStorageInner, Vec<usize>) {
(snapshot.clone(), Vec::new())
}
}