Skip to main content

StateStore

Trait StateStore 

Source
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§

Source

fn save_state(&self, state: &ExecutionState) -> Result<()>

Save execution state to storage

Source

fn load_state(&self) -> Result<Option<ExecutionState>>

Load execution state from storage, returns None if not found

Source

fn save_receipt(&self, receipt: &Receipt) -> Result<()>

Save receipt to storage

Source

fn load_receipt(&self) -> Result<Option<Receipt>>

Load receipt from storage, returns None if not found

Source

fn save_events(&self, events: &EventLog) -> Result<()>

Save event log to storage

Source

fn load_events(&self) -> Result<Option<EventLog>>

Load event log from storage, returns None if not found

Source

fn clear(&self) -> Result<()>

Clear all state (state.json, receipt.json, events.jsonl)

Provided Methods§

Source

fn validate_version(&self, version: &str) -> Result<()>

Validate schema version

Implementors§