pub trait ExactWorkflowRecoveryStore: Send + Sync {
// Required methods
fn load(
&self,
) -> ExactWorkflowStoreFuture<'_, Result<Option<ExactWorkflowRecoveryV2>, ExactWorkflowStoreError>>;
fn compare_exchange(
&self,
expected_revision: Option<u64>,
next: ExactWorkflowRecoveryV2,
) -> ExactWorkflowStoreFuture<'_, Result<(), ExactWorkflowStoreError>>;
}Expand description
Linearizable durable CAS scoped by the caller to one exact workflow key.
The implementation owns storage mechanics only. Lodestone validates every loaded value and computes every legal successor before invoking the store.
Required Methods§
fn load( &self, ) -> ExactWorkflowStoreFuture<'_, Result<Option<ExactWorkflowRecoveryV2>, ExactWorkflowStoreError>>
fn compare_exchange( &self, expected_revision: Option<u64>, next: ExactWorkflowRecoveryV2, ) -> ExactWorkflowStoreFuture<'_, Result<(), ExactWorkflowStoreError>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".