Trait rsdb::Materializer
[−]
[src]
pub trait Materializer: Send + Sync { type MaterializedPage; type PartialPage: Serialize + DeserializeOwned; type Recovery; fn materialize(&self, _: Vec<Self::PartialPage>) -> Self::MaterializedPage; fn consolidate(&self, _: Vec<Self::PartialPage>) -> Vec<Self::PartialPage>; fn recover(&mut self, _: Self::MaterializedPage) -> Option<Self::Recovery>; }
Associated Types
Required Methods
fn materialize(&self, _: Vec<Self::PartialPage>) -> Self::MaterializedPage
Used to generate the result of get
requests on the PageCache
fn consolidate(&self, _: Vec<Self::PartialPage>) -> Vec<Self::PartialPage>
Used to compress long chains of partial pages into a condensed form during compaction.
fn recover(&mut self, _: Self::MaterializedPage) -> Option<Self::Recovery>
Used to feed custom recovery information back to a higher-level abstraction during startup. For example, a B-Link tree must know what the current root node is before it can start serving requests.