pub struct DWBaseEngine<S, V, T, G, E> {
pub storage: S,
pub vector: V,
pub stream: T,
pub gatekeeper: G,
pub embedder: E,
pub reflex_index: ReflexIndex,
/* private fields */
}Expand description
Orchestrator tying together engine components.
Fields§
§storage: S§vector: V§stream: T§gatekeeper: G§embedder: E§reflex_index: ReflexIndexImplementations§
Source§impl<S, V, T, G, E> DWBaseEngine<S, V, T, G, E>
impl<S, V, T, G, E> DWBaseEngine<S, V, T, G, E>
pub fn new(storage: S, vector: V, stream: T, gatekeeper: G, embedder: E) -> Self
pub fn with_reflex_index( storage: S, vector: V, stream: T, gatekeeper: G, embedder: E, reflex_index: ReflexIndex, ) -> Self
Source§impl<S, V, T, G, E> DWBaseEngine<S, V, T, G, E>
impl<S, V, T, G, E> DWBaseEngine<S, V, T, G, E>
pub fn world_archived(&self, world: &WorldKey) -> Result<bool>
Sourcepub fn worlds(&self) -> Result<Vec<WorldKey>>
pub fn worlds(&self) -> Result<Vec<WorldKey>>
List known worlds, excluding archived ones by default.
Sourcepub fn worlds_filtered(&self, include_archived: bool) -> Result<Vec<WorldKey>>
pub fn worlds_filtered(&self, include_archived: bool) -> Result<Vec<WorldKey>>
List known worlds with optional archived inclusion.
pub fn index_status(&self) -> Vec<IndexMetadata>
Sourcepub async fn remember(&self, new_atom: NewAtom) -> Result<AtomId>
pub async fn remember(&self, new_atom: NewAtom) -> Result<AtomId>
Remember (persist) a new atom submitted by a worker.
Sourcepub async fn ask(&self, question: Question) -> Result<Answer>
pub async fn ask(&self, question: Question) -> Result<Answer>
Answer a question based on stored atoms.
Sourcepub fn list_ids_in_window(
&self,
world: &WorldKey,
window: &TimeWindow,
) -> Result<Vec<AtomId>>
pub fn list_ids_in_window( &self, world: &WorldKey, window: &TimeWindow, ) -> Result<Vec<AtomId>>
Return atom ids for a world within a time window.
Sourcepub fn storage_ready(&self) -> bool
pub fn storage_ready(&self) -> bool
Shallow readiness probe: returns true if storage is reachable.
Sourcepub fn max_index_rebuild_lag_ms(&self) -> Option<u64>
pub fn max_index_rebuild_lag_ms(&self) -> Option<u64>
Maximum rebuild lag (ms) across worlds that are rebuilding or not ready.
Sourcepub fn get_atoms(&self, ids: &[AtomId]) -> Result<Vec<Atom>>
pub fn get_atoms(&self, ids: &[AtomId]) -> Result<Vec<Atom>>
Fetch atoms by id using the underlying storage engine.
Sourcepub async fn ingest_remote_atoms(&self, atoms: Vec<Atom>) -> Result<Vec<AtomId>>
pub async fn ingest_remote_atoms(&self, atoms: Vec<Atom>) -> Result<Vec<AtomId>>
Ingest atoms received from peers; idempotent (skips existing ids).
Sourcepub fn gc_once(&self, _max_disk_mb: Option<u64>) -> Result<usize>
pub fn gc_once(&self, _max_disk_mb: Option<u64>) -> Result<usize>
Run garbage collection once for all worlds. Returns number of atoms evicted.
Sourcepub async fn observe(&self, atom: Atom) -> Result<()>
pub async fn observe(&self, atom: Atom) -> Result<()>
Observe (ingest) an atom and publish it to streams.
Sourcepub async fn replay(
&self,
world: WorldKey,
filter: AtomFilter,
) -> Result<Vec<Atom>>
pub async fn replay( &self, world: WorldKey, filter: AtomFilter, ) -> Result<Vec<Atom>>
Replay atoms for a world using a filter.
Sourcepub async fn manage_world(&self, action: WorldAction) -> Result<()>
pub async fn manage_world(&self, action: WorldAction) -> Result<()>
Perform a world-level action (create/archive/resume).