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§
Sourcefn create_storage_with_sink(
&self,
error_sink: Rc<RefCell<Option<RindleError>>>,
) -> Box<dyn Storage>
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.