use std::sync::atomic::{AtomicUsize, Ordering};
use triomphe::Arc;
#[derive(Debug, Clone)]
pub struct RespConfig {
blob_limit: Arc<AtomicUsize>,
inline_limit: Arc<AtomicUsize>,
}
impl Default for RespConfig {
fn default() -> Self {
Self {
inline_limit: Arc::new(AtomicUsize::new(1024 * 64)),
blob_limit: Arc::new(AtomicUsize::new(512 * 1024 * 1024)),
}
}
}
impl RespConfig {
pub fn blob_limit(&self) -> usize {
self.blob_limit.load(Ordering::Relaxed)
}
pub fn set_blob_limit(&mut self, value: usize) {
self.blob_limit.store(value, Ordering::Relaxed)
}
pub fn inline_limit(&self) -> usize {
self.inline_limit.load(Ordering::Relaxed)
}
pub fn set_inline_limit(&mut self, value: usize) {
self.inline_limit.store(value, Ordering::Relaxed)
}
}