#[cfg(feature = "client")]
use std::sync::atomic::
{
AtomicBool,
AtomicUsize,
Ordering,
};
#[cfg(feature = "client")]
static SEQ: AtomicUsize = AtomicUsize::new(0);
#[cfg(feature = "client")]
static SERVER_SEQ: AtomicUsize = AtomicUsize::new(0);
#[cfg(feature = "client")]
static USE_VOICE: AtomicBool = AtomicBool::new(false);
#[cfg(feature = "client")]
pub fn get_seq() -> usize {
SEQ.load(Ordering::Relaxed)
}
#[cfg(feature = "client")]
pub fn set_seq(value: usize) {
SEQ.store(value, Ordering::Relaxed)
}
#[cfg(feature = "client")]
pub fn get_server_seq() -> usize {
SERVER_SEQ.load(Ordering::Relaxed)
}
#[cfg(feature = "client")]
pub fn set_server_seq(value: usize) {
SERVER_SEQ.store(value, Ordering::Relaxed)
}
#[cfg(feature = "client")]
pub fn get_use_voice() -> bool {
USE_VOICE.load(Ordering::Relaxed)
}
#[cfg(feature = "client")]
pub fn swap_use_voice() -> bool {
!USE_VOICE.fetch_xor(true, Ordering::Relaxed)
}