feat(book): finish overview

Signed-off-by: Alex Chi <iskyzh@gmail.com>
This commit is contained in:
Alex Chi
2022-12-23 18:44:59 -05:00
parent bf38b99f5a
commit c09a54e796
15 changed files with 1060 additions and 94 deletions

View File

@@ -0,0 +1,29 @@
#![allow(unused_variables)] // TODO(you): remove this lint after implementing this mod
#![allow(dead_code)] // TODO(you): remove this lint after implementing this mod
use super::Block;
/// Builds a block
pub struct BlockBuilder {}
impl BlockBuilder {
/// Creates a new block builder
pub fn new(target_size: usize) -> Self {
unimplemented!()
}
/// Adds a key-value pair to the block
#[must_use]
pub fn add(&mut self, key: &[u8], value: &[u8]) -> bool {
unimplemented!()
}
pub fn is_empty(&self) -> bool {
unimplemented!()
}
/// Builds a block
pub fn build(self) -> Block {
unimplemented!()
}
}

View File

@@ -0,0 +1,62 @@
#![allow(unused_variables)] // TODO(you): remove this lint after implementing this mod
#![allow(dead_code)] // TODO(you): remove this lint after implementing this mod
use std::sync::Arc;
use super::Block;
pub struct BlockIterator {}
impl BlockIterator {
fn new(block: Arc<Block>) -> Self {
unimplemented!()
}
pub fn create_and_seek_to_first(block: Arc<Block>) -> Self {
unimplemented!()
}
pub fn create_and_seek_to_key(block: Arc<Block>, key: &[u8]) -> Self {
unimplemented!()
}
pub fn key(&self) -> &[u8] {
unimplemented!()
}
pub fn value(&self) -> &[u8] {
unimplemented!()
}
pub fn is_valid(&self) -> bool {
unimplemented!()
}
pub fn seek_to_first(&mut self) {
unimplemented!()
}
pub fn seek_to_last(&mut self) {
unimplemented!()
}
pub fn len(&self) -> usize {
unimplemented!()
}
pub fn is_empty(&self) -> bool {
unimplemented!()
}
pub fn seek_to(&mut self, idx: usize) {
unimplemented!()
}
pub fn next(&mut self) {
unimplemented!()
}
pub fn seek_to_key(&mut self, key: &[u8]) {
unimplemented!()
}
}

View File

@@ -0,0 +1 @@
//! Please copy `mini-lsm/src/block/tests.rs` here so that you can run tests.