playit-agent-core 0.20.1

Contains the logic to create a playit.gg agent
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::sync::atomic::{AtomicU64, Ordering};

use serde::Serialize;

#[derive(Default, Debug)]
pub struct IntCounter(AtomicU64);

impl Serialize for IntCounter {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> where S: serde::Serializer {
        serializer.serialize_u64(self.0.load(Ordering::Acquire))
    }
}

impl IntCounter {
    pub fn inc(&self) {
        self.0.fetch_add(1, Ordering::AcqRel);
    }
}