pub trait StateStore: Send + Sync {
// Required methods
fn save_state(&self, state: &ExecutionState) -> Result<()>;
fn load_state(&self) -> Result<Option<ExecutionState>>;
fn save_receipt(&self, receipt: &Receipt) -> Result<()>;
fn load_receipt(&self) -> Result<Option<Receipt>>;
fn save_events(&self, events: &EventLog) -> Result<()>;
fn load_events(&self) -> Result<Option<EventLog>>;
fn clear(&self) -> Result<()>;
// Provided method
fn validate_version(&self, version: &str) -> Result<()> { ... }
}Expand description
Trait for state storage backends.
This trait abstracts the storage of execution state, receipts, and event logs, allowing for different storage backends (filesystem, S3, GCS, etc.).
Required Methods§
Sourcefn save_state(&self, state: &ExecutionState) -> Result<()>
fn save_state(&self, state: &ExecutionState) -> Result<()>
Save execution state to storage
Sourcefn load_state(&self) -> Result<Option<ExecutionState>>
fn load_state(&self) -> Result<Option<ExecutionState>>
Load execution state from storage, returns None if not found
Sourcefn save_receipt(&self, receipt: &Receipt) -> Result<()>
fn save_receipt(&self, receipt: &Receipt) -> Result<()>
Save receipt to storage
Sourcefn load_receipt(&self) -> Result<Option<Receipt>>
fn load_receipt(&self) -> Result<Option<Receipt>>
Load receipt from storage, returns None if not found
Sourcefn save_events(&self, events: &EventLog) -> Result<()>
fn save_events(&self, events: &EventLog) -> Result<()>
Save event log to storage
Sourcefn load_events(&self) -> Result<Option<EventLog>>
fn load_events(&self) -> Result<Option<EventLog>>
Load event log from storage, returns None if not found
Provided Methods§
Sourcefn validate_version(&self, version: &str) -> Result<()>
fn validate_version(&self, version: &str) -> Result<()>
Validate schema version