Skip to main content

TransactionalStore

Trait TransactionalStore 

Source
pub trait TransactionalStore: Store + ManifestStore {
    // Provided methods
    fn supports_transactions(&self) -> bool { ... }
    fn commit_transaction(
        &self,
        _node_writes: &[TransactionNodeWrite],
        _root_conditions: &[RootCondition],
        _root_writes: &[RootWrite],
    ) -> Result<TransactionUpdate, Error> { ... }
}
Expand description

Store support for strict atomic transaction commits.

Provided Methods§

Source

fn supports_transactions(&self) -> bool

Whether this backend can atomically commit staged nodes and roots.

Source

fn commit_transaction( &self, _node_writes: &[TransactionNodeWrite], _root_conditions: &[RootCondition], _root_writes: &[RootWrite], ) -> Result<TransactionUpdate, Error>

Atomically validate root conditions, write nodes, and apply root writes.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<T> TransactionalStore for Arc<T>

Source§

fn supports_transactions(&self) -> bool

Source§

fn commit_transaction( &self, node_writes: &[TransactionNodeWrite], root_conditions: &[RootCondition], root_writes: &[RootWrite], ) -> Result<TransactionUpdate, Error>

Implementors§