holger_core/storage/
mod.rs

1use crate::types::{StorageEndpoint, StorageType};
2use anyhow::{anyhow, Result};
3use std::path::PathBuf;
4
5/// Represents a fully resolved storage backend.
6#[derive(Debug, Clone)]
7pub enum StorageEndpointInstance {
8    Znippy { path: PathBuf },
9    Rocksdb { path: PathBuf },
10}
11
12impl StorageEndpointInstance {
13    pub fn from_config(config: &StorageEndpoint) -> Result<Self> {
14        match config.ty {
15            StorageType::Znippy => Ok(StorageEndpointInstance::Znippy {
16                path: PathBuf::from(&config.path),
17            }),
18            StorageType::Rocksdb => Ok(StorageEndpointInstance::Rocksdb {
19                path: PathBuf::from(&config.path),
20            }),
21        }
22    }
23}