use serde::{Deserialize, Serialize};
#[allow(clippy::module_name_repetitions)]
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct ImageCache {
#[serde(default = "ImageCache::default_capacity")]
pub capacity: usize,
#[serde(default = "ImageCache::default_entry_size_limit")]
pub entry_size_limit: usize,
#[serde(default = "ImageCache::default_max_request_timeout_ms")]
pub max_request_timeout_ms: u64,
#[serde(default = "ImageCache::default_user_quota_bytes")]
pub user_quota_bytes: usize,
#[serde(default = "ImageCache::default_user_quota_period_seconds")]
pub user_quota_period_seconds: u64,
}
impl Default for ImageCache {
fn default() -> Self {
Self {
max_request_timeout_ms: Self::default_max_request_timeout_ms(),
capacity: Self::default_capacity(),
entry_size_limit: Self::default_entry_size_limit(),
user_quota_period_seconds: Self::default_user_quota_period_seconds(),
user_quota_bytes: Self::default_user_quota_bytes(),
}
}
}
impl ImageCache {
fn default_max_request_timeout_ms() -> u64 {
1000
}
fn default_capacity() -> usize {
128_000_000
}
fn default_entry_size_limit() -> usize {
4_000_000
}
fn default_user_quota_period_seconds() -> u64 {
3600
}
fn default_user_quota_bytes() -> usize {
64_000_000
}
}