use std::path::PathBuf;
use serde::{Deserialize, Serialize};
pub(crate) const DEFAULT_MAX_ENTRY_BYTES: u64 = 16 * 1024 * 1024;
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct FileCacheConfig {
pub root: PathBuf,
pub key_prefix: Option<String>,
#[serde(default = "default_max_entry_bytes")]
pub max_entry_bytes: u64,
}
impl FileCacheConfig {
#[must_use]
pub fn new(root: impl Into<PathBuf>) -> Self {
Self {
root: root.into(),
key_prefix: None,
max_entry_bytes: DEFAULT_MAX_ENTRY_BYTES,
}
}
}
const fn default_max_entry_bytes() -> u64 {
DEFAULT_MAX_ENTRY_BYTES
}