use serde::{Deserialize, Serialize};
pub const CACHE_DIR_NAME: &str = "strop-worker";
pub const OBJECTS_DIR: &str = "objects";
pub const LEASES_DIR: &str = "leases";
pub const RECEIPTS_DIR: &str = "receipts";
pub const CACHE_LOCK_FILE: &str = "cache.lock";
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct LeaseRecord {
pub lease: u64,
pub object_sha256: String,
}
pub const RECEIPT_SCHEMA: u32 = 1;
pub const MAX_RECORD_BYTES: u64 = 16 * 1024;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct CacheReceipt {
pub schema: u32,
pub context: String,
pub principal: String,
pub version: String,
pub target: String,
pub object_sha256: String,
pub object_bytes: u64,
pub tarball_sha256: String,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
pub struct CacheGcReport {
pub removed_objects: Vec<String>,
pub removed_receipts: usize,
pub kept_objects: usize,
}