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
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl SyncStorageBackend for MemoryStorageBackend
impl SyncStorageBackend for SyncSqliteBackend
Available on crate feature
sqlite-storage only.