use super::*;
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum StorageDurability {
Ephemeral,
#[default]
Local,
Durable,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct StorageRequirements {
durability: StorageDurability,
minimum_bytes: u64,
shared: bool,
}
impl StorageRequirements {
pub fn new(durability: StorageDurability, minimum_bytes: u64, shared: bool) -> Self {
Self {
durability,
minimum_bytes,
shared,
}
}
pub fn durability(&self) -> StorageDurability {
self.durability
}
pub fn minimum_bytes(&self) -> u64 {
self.minimum_bytes
}
pub fn is_shared(&self) -> bool {
self.shared
}
}