pub trait SyncStorageBackend: Send + Sync {
// Required methods
fn save(&self, snapshot: &Snapshot) -> Result<String, StorageError>;
fn save_decision(
&self,
decision: &DecisionSnapshot,
) -> Result<String, StorageError>;
fn load(&self, snapshot_id: &str) -> Result<Snapshot, StorageError>;
fn load_decision(
&self,
decision_id: &str,
) -> Result<DecisionSnapshot, StorageError>;
fn query(&self, query: SnapshotQuery) -> Result<Vec<Snapshot>, StorageError>;
fn delete(&self, snapshot_id: &str) -> Result<bool, StorageError>;
fn flush(&self) -> Result<FlushResult, StorageError>;
fn health_check(&self) -> Result<bool, StorageError>;
}Expand description
Synchronous storage backend trait
Required Methods§
Sourcefn save(&self, snapshot: &Snapshot) -> Result<String, StorageError>
fn save(&self, snapshot: &Snapshot) -> Result<String, StorageError>
Save a snapshot, return its ID
Sourcefn save_decision(
&self,
decision: &DecisionSnapshot,
) -> Result<String, StorageError>
fn save_decision( &self, decision: &DecisionSnapshot, ) -> Result<String, StorageError>
Save a single decision snapshot
Sourcefn load_decision(
&self,
decision_id: &str,
) -> Result<DecisionSnapshot, StorageError>
fn load_decision( &self, decision_id: &str, ) -> Result<DecisionSnapshot, StorageError>
Load a decision by ID
Sourcefn query(&self, query: SnapshotQuery) -> Result<Vec<Snapshot>, StorageError>
fn query(&self, query: SnapshotQuery) -> Result<Vec<Snapshot>, StorageError>
Query snapshots with filters
Sourcefn flush(&self) -> Result<FlushResult, StorageError>
fn flush(&self) -> Result<FlushResult, StorageError>
Flush pending writes (for batching backends)
Sourcefn health_check(&self) -> Result<bool, StorageError>
fn health_check(&self) -> Result<bool, StorageError>
Check health/connectivity
Implementors§
impl SyncStorageBackend for MemoryStorageBackend
impl SyncStorageBackend for SyncSqliteBackend
Available on crate feature
sqlite-storage only.