#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) struct DeterministicMode {
pub(crate) enabled: bool,
pub(crate) timestamp_shuffle: bool,
}
impl DeterministicMode {
pub(crate) fn disabled() -> Self {
Self {
enabled: false,
timestamp_shuffle: false,
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) struct DeterministicSequence {
pub(crate) highest_seen: i64,
}
impl DeterministicSequence {
pub(crate) fn uninitialized() -> Self {
Self { highest_seen: -1 }
}
pub(crate) fn next_sequence(self) -> i64 {
self.highest_seen + 1
}
}