Skip to main content

RuntimePersistence

Trait RuntimePersistence 

Source
pub trait RuntimePersistence:
    SessionCommitStore
    + TurnInputStore
    + SessionExecutionLeaseStore
    + QueuedWorkStore
    + StoreMaintenance { }
Expand description

Exact settled-session persistence protocol required by the runtime.

Arc<dyn RuntimePersistence> is the runtime storage handle: one object implementing every persistence capability segment — SessionCommitStore (atomic graph/head commits, reads, metadata, and the attachment write-ahead manifest), TurnInputStore (pending turn-input lifecycle), QueuedWorkStore (queued-work ingress and claiming), SessionExecutionLeaseStore (single-writer execution lane), and StoreMaintenance (vacuum/GC). The segments share one transactional domain: claims granted by the input and queue segments settle atomically in SessionCommitStore::commit_runtime_state. In-flight nondeterministic work belongs to the active EffectHost, not to the store contract.

Blanket-implemented for every type that implements all five segments; backends implement the segment traits and never this trait directly.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§