pub trait StorageCommitOps:
Send
+ Sync
+ Debug {
// Required methods
fn commit_staged_writes(
&self,
transaction_id: TransactionId,
intents: &[OutboxIntent],
) -> Result<CommitLsn, StorageError>;
fn abort_staged_writes(
&self,
transaction_id: TransactionId,
) -> Result<(), StorageError>;
fn recover_outbox_projection(
&self,
sync_manager: &SyncManager,
) -> Result<usize, StorageError>;
// Provided method
fn commit_staged_writes_with_durability(
&self,
transaction_id: TransactionId,
intents: &[OutboxIntent],
_durability: DurabilityLevel,
) -> Result<CommitLsn, StorageError> { ... }
}Required Methods§
fn commit_staged_writes( &self, transaction_id: TransactionId, intents: &[OutboxIntent], ) -> Result<CommitLsn, StorageError>
fn abort_staged_writes( &self, transaction_id: TransactionId, ) -> Result<(), StorageError>
fn recover_outbox_projection( &self, sync_manager: &SyncManager, ) -> Result<usize, StorageError>
Provided Methods§
fn commit_staged_writes_with_durability( &self, transaction_id: TransactionId, intents: &[OutboxIntent], _durability: DurabilityLevel, ) -> Result<CommitLsn, StorageError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".