Files
mini_lsm/mini-lsm/src/iterators.rs

23 lines
518 B
Rust
Raw Normal View History

pub mod concat_iterator;
pub mod merge_iterator;
pub mod two_merge_iterator;
pub trait StorageIterator {
/// Get the current value.
fn value(&self) -> &[u8];
/// Get the current key.
fn key(&self) -> &[u8];
/// Check if the current iterator is valid.
fn is_valid(&self) -> bool;
/// Move to the next position.
fn next(&mut self) -> anyhow::Result<()>;
/// Number of underlying active iterators for this iterator.
fn num_active_iterators(&self) -> usize {
1
}
}