1 2 3 4 5 6 7 8 9 10 11 12
use std::sync::atomic::{AtomicUsize, Ordering}; pub(crate) static TSO: AtomicUsize = AtomicUsize::new(0); /// Generates a globally unique monotonic ID. pub fn global_unique_id() -> usize { TSO.fetch_add(1, Ordering::Relaxed) } pub(crate) fn reset() { TSO.store(0, Ordering::Relaxed); }