Files
mini_lsm/mini-lsm-starter/src/manifest.rs
Alex Chi b1458a66b2 fix warnings
Signed-off-by: Alex Chi <iskyzh@gmail.com>
2024-01-20 11:14:19 +08:00

45 lines
1009 B
Rust

#![allow(dead_code)] // REMOVE THIS LINE after fully implementing this functionality
use std::fs::File;
use std::path::Path;
use std::sync::Arc;
use anyhow::Result;
use parking_lot::{Mutex, MutexGuard};
use serde::{Deserialize, Serialize};
use crate::compact::CompactionTask;
pub struct Manifest {
file: Arc<Mutex<File>>,
}
#[derive(Serialize, Deserialize)]
pub enum ManifestRecord {
Flush(usize),
NewMemtable(usize),
Compaction(CompactionTask, Vec<usize>),
}
impl Manifest {
pub fn create(_path: impl AsRef<Path>) -> Result<Self> {
unimplemented!()
}
pub fn recover(_path: impl AsRef<Path>) -> Result<(Self, Vec<ManifestRecord>)> {
unimplemented!()
}
pub fn add_record(
&self,
_state_lock_observer: &MutexGuard<()>,
record: ManifestRecord,
) -> Result<()> {
self.add_record_when_init(record)
}
pub fn add_record_when_init(&self, _record: ManifestRecord) -> Result<()> {
unimplemented!()
}
}