Skip to main content

kyu_storage/
lib.rs

1//! kyu-storage: buffer manager, page store, frame management, columnar storage.
2//!
3//! Unsafe boundary: `frame.rs` and `latch.rs` contain the only `unsafe` code.
4//! All other modules are safe Rust.
5
6pub mod buffer_manager;
7pub mod chunked_node_group;
8pub mod column_chunk;
9pub mod constants;
10pub mod csr;
11pub mod disk_cache;
12pub mod frame;
13pub mod latch;
14pub mod local_page_store;
15pub mod node_group;
16pub mod null_mask;
17pub mod page_id;
18pub mod page_store;
19pub mod pool;
20pub mod remote_page_store;
21pub mod storage_types;
22
23pub use buffer_manager::{BufferManager, BufferManagerStats, PinnedPage};
24pub use chunked_node_group::ChunkedNodeGroup;
25pub use column_chunk::{
26    BoolChunkData, ColumnChunk, ColumnChunkData, FixedSizeValue, StringChunkData,
27};
28pub use constants::*;
29pub use csr::{CsrDirection, CsrHeader, CsrIndex, CsrList, CsrNodeGroup, NodeCsrIndex};
30pub use disk_cache::DiskCache;
31pub use frame::Frame;
32pub use latch::RwLatch;
33pub use local_page_store::LocalPageStore;
34pub use node_group::{NodeGroup, NodeGroupIdx};
35pub use null_mask::NullMask;
36pub use page_id::{FileId, FrameIdx, PAGE_SIZE, PageId, PoolId};
37pub use page_store::{MockPageStore, PageStore};
38pub use pool::Pool;
39pub use remote_page_store::RemotePageStore;
40pub use storage_types::*;