use std::time::Duration;
use reifydb_core::common::CommitVersion;
use reifydb_type::Result;
use crate::multi::transaction::{
MultiTransaction, read::MultiReadTransaction, replica::MultiReplicaTransaction, write::MultiWriteTransaction,
};
pub mod conflict;
pub mod marker;
#[allow(clippy::module_inception)]
pub mod multi;
pub(crate) mod oracle;
pub mod pending;
pub mod transaction;
pub mod types;
pub mod watermark;
impl MultiTransaction {
pub fn current_version(&self) -> Result<CommitVersion> {
self.tm.version()
}
pub fn done_until(&self) -> CommitVersion {
self.tm.done_until()
}
pub fn wait_for_mark_timeout(&self, version: CommitVersion, timeout: Duration) -> bool {
self.tm.wait_for_mark_timeout(version, timeout)
}
pub fn advance_version_for_replica(&self, version: CommitVersion) {
self.tm.advance_version_for_replica(version);
}
}