calybris-core 0.5.5

Deterministic proof-carrying decision core with replay verification, WAL, and fixed-point budget proofs
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Sync primitives for budget concurrency.
//!
//! When the build script enables `cfg(loom)` through `CALYBRIS_LOOM`, mutexes
//! and atomics use `loom::sync` for model checking. `Arc` stays
//! `std::sync::Arc` (loom's `Arc` does not support `HashMap` keys).

#[cfg(loom)]
pub use loom::sync::atomic::{AtomicI64, AtomicU64, Ordering};
#[cfg(loom)]
pub use loom::sync::Mutex;

#[cfg(not(loom))]
pub use std::sync::atomic::{AtomicI64, AtomicU64, Ordering};
#[cfg(not(loom))]
pub use std::sync::Mutex;

pub use std::sync::Arc;