playit_agent_core/network/errors.rs
1use std::sync::atomic::{AtomicU64, Ordering};
2
3use serde::Serialize;
4
5#[derive(Default, Debug)]
6pub struct IntCounter(AtomicU64);
7
8impl Serialize for IntCounter {
9 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer {
10 serializer.serialize_u64(self.0.load(Ordering::Acquire))
11 }
12}
13
14impl IntCounter {
15 pub fn inc(&self) {
16 self.0.fetch_add(1, Ordering::AcqRel);
17 }
18}