pub trait StorageEngine {
// Required methods
fn append(&self, atom: Atom) -> Result<()>;
fn get_by_ids(&self, ids: &[AtomId]) -> Result<Vec<Atom>>;
fn scan(&self, world: &WorldKey, filter: &AtomFilter) -> Result<Vec<Atom>>;
fn stats(&self, world: &WorldKey) -> Result<StorageStats>;
fn list_ids_in_window(
&self,
world: &WorldKey,
window: &TimeWindow,
) -> Result<Vec<AtomId>>;
fn delete_atoms(&self, world: &WorldKey, ids: &[AtomId]) -> Result<usize>;
fn worlds(&self) -> Result<Vec<WorldKey>>;
}Expand description
Storage engine interface.
Required Methods§
fn append(&self, atom: Atom) -> Result<()>
fn get_by_ids(&self, ids: &[AtomId]) -> Result<Vec<Atom>>
fn scan(&self, world: &WorldKey, filter: &AtomFilter) -> Result<Vec<Atom>>
fn stats(&self, world: &WorldKey) -> Result<StorageStats>
Sourcefn list_ids_in_window(
&self,
world: &WorldKey,
window: &TimeWindow,
) -> Result<Vec<AtomId>>
fn list_ids_in_window( &self, world: &WorldKey, window: &TimeWindow, ) -> Result<Vec<AtomId>>
Return atom ids for a world constrained by time window (ms since epoch).