use std::sync::{RwLock, OnceLock, atomic::{AtomicUsize, Ordering}};
static GLOBAL_BASE_URL: OnceLock<RwLock<String>> = OnceLock::new();
static GLOBAL_MAX_RPS: AtomicUsize = AtomicUsize::new(30);
pub fn set_global_base_url(url: impl Into<String>) {
let lock = GLOBAL_BASE_URL.get_or_init(|| RwLock::new("https://platform-api.max.ru".to_string()));
let mut guard = lock.write().unwrap();
*guard = url.into();
}
pub fn get_global_base_url() -> String {
let lock = GLOBAL_BASE_URL.get_or_init(|| RwLock::new("https://platform-api.max.ru".to_string()));
lock.read().unwrap().clone()
}
pub fn set_global_max_rps(rps: usize) {
GLOBAL_MAX_RPS.store(rps, Ordering::Relaxed);
}
pub fn get_global_max_rps() -> usize {
GLOBAL_MAX_RPS.load(Ordering::Relaxed)
}