Rindle docs and package mapSkip to main content

StorageProvider

Trait StorageProvider 

Source
pub trait StorageProvider {
    // Required method
    fn create_storage_with_sink(
        &self,
        error_sink: Rc<RefCell<Option<RindleError>>>,
    ) -> Box<dyn Storage>;
}
Expand description

A backend’s per-operator store factory, erased behind a trait object so the core graph’s StorageFactory can vend SQLite-backed operator storage (the rindle-sqlite DatabaseStorage) without the core crate naming a rusqlite type. The in-memory path bypasses this (it builds MemoryStorage directly).

Required Methods§

Source

fn create_storage_with_sink( &self, error_sink: Rc<RefCell<Option<RindleError>>>, ) -> Box<dyn Storage>

Allocate one isolated operator keyspace, parking any backend errors into error_sink (the graph’s runtime_error, WS02.3) so they surface via take_runtime_error instead of aborting.

Implementors§