reifydb_transaction/multi/
mod.rs1use std::time::Duration;
5
6use reifydb_core::common::CommitVersion;
7use reifydb_type::Result;
8
9use crate::multi::transaction::{
10 MultiTransaction, read::MultiReadTransaction, replica::MultiReplicaTransaction, write::MultiWriteTransaction,
11};
12
13pub mod conflict;
14pub mod marker;
15#[allow(clippy::module_inception)]
16pub mod multi;
17pub(crate) mod oracle;
18pub mod pending;
19pub mod transaction;
20pub mod types;
21pub mod watermark;
22
23impl MultiTransaction {
24 pub fn current_version(&self) -> Result<CommitVersion> {
26 self.tm.version()
27 }
28
29 pub fn done_until(&self) -> CommitVersion {
33 self.tm.done_until()
34 }
35
36 pub fn wait_for_mark_timeout(&self, version: CommitVersion, timeout: Duration) -> bool {
39 self.tm.wait_for_mark_timeout(version, timeout)
40 }
41
42 pub fn advance_version_for_replica(&self, version: CommitVersion) {
46 self.tm.advance_version_for_replica(version);
47 }
48}