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