pub struct Manifest { /* private fields */ }Expand description
Manifest manager - tracks database state
Implementations§
Source§impl Manifest
impl Manifest
Sourcepub fn open(dir: impl AsRef<Path>) -> Result<Self>
pub fn open(dir: impl AsRef<Path>) -> Result<Self>
Open or create a manifest in the given directory
Sourcepub fn add_sstable(&mut self, meta: &SSTableMeta) -> Result<()>
pub fn add_sstable(&mut self, meta: &SSTableMeta) -> Result<()>
Add an SSTable to the manifest
Sourcepub fn remove_sstable(&mut self, path: &Path) -> Result<()>
pub fn remove_sstable(&mut self, path: &Path) -> Result<()>
Remove an SSTable from the manifest
Sourcepub fn update_sequence(&mut self, sequence: u64) -> Result<()>
pub fn update_sequence(&mut self, sequence: u64) -> Result<()>
Update the sequence number
Sourcepub fn sstables_at_level(&self, level: u32) -> Vec<&ManifestSSTable>
pub fn sstables_at_level(&self, level: u32) -> Vec<&ManifestSSTable>
Get all SSTables at a given level
Sourcepub fn all_sstables(&self) -> &[ManifestSSTable]
pub fn all_sstables(&self) -> &[ManifestSSTable]
Get all SSTables
Sourcepub fn level_counts(&self) -> Vec<usize>
pub fn level_counts(&self) -> Vec<usize>
Get the number of SSTables at each level
Sourcepub fn total_size(&self) -> u64
pub fn total_size(&self) -> u64
Get total size of all SSTables
Sourcepub fn record_compaction(
&mut self,
level: u32,
inputs: Vec<PathBuf>,
outputs: Vec<SSTableMeta>,
) -> Result<()>
pub fn record_compaction( &mut self, level: u32, inputs: Vec<PathBuf>, outputs: Vec<SSTableMeta>, ) -> Result<()>
Record a compaction completion
Auto Trait Implementations§
impl Freeze for Manifest
impl RefUnwindSafe for Manifest
impl Send for Manifest
impl Sync for Manifest
impl Unpin for Manifest
impl UnwindSafe for Manifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more