#[repr(u8)]pub enum TransactionMultiVersion {
Optimistic(TransactionOptimistic),
Serializable(TransactionSerializable),
}Variants§
Optimistic(TransactionOptimistic)
Serializable(TransactionSerializable)
Implementations§
Source§impl TransactionMultiVersion
impl TransactionMultiVersion
pub fn optimistic( store: TransactionStore, single: TransactionSingleVersion, bus: EventBus, ) -> TransactionMultiVersion
pub fn serializable( store: TransactionStore, single: TransactionSingleVersion, bus: EventBus, ) -> TransactionMultiVersion
Sourcepub fn try_wait_for_watermark(
&self,
version: CommitVersion,
timeout: Duration,
) -> Result<(), AwaitWatermarkError>
pub fn try_wait_for_watermark( &self, version: CommitVersion, timeout: Duration, ) -> Result<(), AwaitWatermarkError>
Wait for the watermark to reach the specified version. Returns Ok(()) if the watermark reaches the version within the timeout, or Err(AwaitWatermarkError) if the timeout expires.
Sourcepub fn current_version(&self) -> Result<CommitVersion, Error>
pub fn current_version(&self) -> Result<CommitVersion, Error>
Get the current version from the transaction manager
Sourcepub fn done_until(&self) -> CommitVersion
pub fn done_until(&self) -> CommitVersion
Returns the highest version where ALL prior versions have completed. This is useful for CDC polling to know the safe upper bound for fetching CDC events - all events up to this version are guaranteed to be in storage.
Sourcepub fn watermarks(&self) -> (CommitVersion, CommitVersion)
pub fn watermarks(&self) -> (CommitVersion, CommitVersion)
Returns (query_done_until, command_done_until) for debugging watermark state.
Trait Implementations§
Source§impl Clone for TransactionMultiVersion
impl Clone for TransactionMultiVersion
Source§fn clone(&self) -> TransactionMultiVersion
fn clone(&self) -> TransactionMultiVersion
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl MultiVersionTransaction for TransactionMultiVersion
impl MultiVersionTransaction for TransactionMultiVersion
type Query = StandardQueryTransaction
type Command = StandardCommandTransaction
fn begin_query( &self, ) -> Result<<TransactionMultiVersion as MultiVersionTransaction>::Query, Error>
fn begin_command( &self, ) -> Result<<TransactionMultiVersion as MultiVersionTransaction>::Command, Error>
fn with_query<F, R>(&self, f: F) -> Result<R, Error>
fn with_command<F, R>(&self, f: F) -> Result<R, Error>
Auto Trait Implementations§
impl Freeze for TransactionMultiVersion
impl !RefUnwindSafe for TransactionMultiVersion
impl Send for TransactionMultiVersion
impl Sync for TransactionMultiVersion
impl Unpin for TransactionMultiVersion
impl !UnwindSafe for TransactionMultiVersion
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)