cuendillar 0.1.0

Embedded persistent key–value storage engine (LSM-tree based)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use std::{io::Write, ops::Range};

use crate::database::sstable::errors::SSTableError;

pub mod default_index;
pub mod index_factory;

#[cfg(test)]
mod tests;

pub trait SSTIndex: Send + Sync {
    fn get_name(&self) -> &str;
    fn get_offset(&self, key: &[u8]) -> Option<Range<u64>>;
    fn add_entry(&mut self, key: &[u8], offset: u64);
    fn add_last_offset(&mut self, last_offset: u64);
    fn serialize(&self, writer: &mut dyn Write) -> Result<u64, SSTableError>;
}