pub mod block_cache;
pub mod cache;
pub mod page;
pub mod record;
pub mod store;
#[cfg(test)]
pub mod tests;
pub use record::{FIXED_METADATA_SIZE, MAX_INLINE_DATA, NodeRecordV3};
pub use page::{MAX_NODE_CAPACITY, MAX_PAGE_SIZE, NodePage, PAGE_HEADER_SIZE, USABLE_SIZE};
pub use store::{
DEFAULT_CACHE_CAPACITY, MAX_CACHE_CAPACITY, MIN_CACHE_CAPACITY, NodeStore, TraversalCache,
TraversalCacheBuilder,
};
pub use block_cache::{
BLOCK_SIZE, BlockAwareTraversalCache, BlockStats,
DEFAULT_CACHE_CAPACITY as BLOCK_CACHE_DEFAULT_CAPACITY,
MAX_CACHE_CAPACITY as BLOCK_CACHE_MAX_CAPACITY, MIN_CACHE_CAPACITY as BLOCK_CACHE_MIN_CAPACITY,
node_id_to_block,
};
pub use cache::NodeCache;
pub mod constants {
pub const FIXED_METADATA_SIZE: usize = 44;
pub const MAX_INLINE_DATA: usize = 64;
pub const ID_SIZE: usize = 8;
pub const FLAGS_SIZE: usize = 4;
pub const KIND_OFFSET_SIZE: usize = 2;
pub const NAME_OFFSET_SIZE: usize = 2;
pub const DATA_LEN_SIZE: usize = 2;
pub const OUTGOING_OFFSET_SIZE: usize = 8;
pub const OUTGOING_COUNT_SIZE: usize = 4;
pub const INCOMING_OFFSET_SIZE: usize = 8;
pub const INCOMING_COUNT_SIZE: usize = 4;
}