pub struct AtomicSyncStats { /* private fields */ }Expand description
Thread-safe wrapper for SyncStats using atomic counters.
This is useful for concurrent harvesting where multiple tasks update statistics simultaneously without requiring a mutex.
§Example
use ceres_core::sync::{AtomicSyncStats, SyncOutcome};
let stats = AtomicSyncStats::new();
// Can be safely called from multiple threads
stats.record(SyncOutcome::Created);
stats.record(SyncOutcome::Unchanged);
let snapshot = stats.to_stats();
assert_eq!(snapshot.created, 1);
assert_eq!(snapshot.unchanged, 1);Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for AtomicSyncStats
impl RefUnwindSafe for AtomicSyncStats
impl Send for AtomicSyncStats
impl Sync for AtomicSyncStats
impl Unpin for AtomicSyncStats
impl UnsafeUnpin for AtomicSyncStats
impl UnwindSafe for AtomicSyncStats
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more