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 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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more