From 5664e5df0e2295697363dacd23614143b9d7cadb Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 12 Dec 2025 16:44:20 +0100 Subject: make jellytool work again; dummy cache driver --- cache/src/backends/dummy.rs | 18 ++++++++++++++++++ cache/src/backends/mod.rs | 4 +++- cache/src/lib.rs | 8 ++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 cache/src/backends/dummy.rs (limited to 'cache') diff --git a/cache/src/backends/dummy.rs b/cache/src/backends/dummy.rs new file mode 100644 index 0000000..5ebc2e3 --- /dev/null +++ b/cache/src/backends/dummy.rs @@ -0,0 +1,18 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2025 metamuffin +*/ + +use crate::backends::CacheStorage; +use anyhow::Result; + +pub struct Dummy; +impl CacheStorage for Dummy { + fn store(&self, _key: String, _value: &[u8]) -> Result<()> { + Ok(()) + } + fn read(&self, _key: &str) -> Result>> { + Ok(None) // sorry forgot + } +} diff --git a/cache/src/backends/mod.rs b/cache/src/backends/mod.rs index 5872255..506eace 100644 --- a/cache/src/backends/mod.rs +++ b/cache/src/backends/mod.rs @@ -3,12 +3,13 @@ which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2025 metamuffin */ +pub mod dummy; pub mod filesystem; pub mod rocksdb; use crate::{ CONF, - backends::{filesystem::Filesystem, rocksdb::Rocksdb}, + backends::{dummy::Dummy, filesystem::Filesystem, rocksdb::Rocksdb}, }; use anyhow::{Result, bail}; @@ -21,6 +22,7 @@ pub fn init_backend() -> Result> { Ok(match CONF.driver.as_str() { "filesystem" => Box::new(Filesystem::new(&CONF)), "rocksdb" => Box::new(Rocksdb::new(&CONF)?), + "dummy" => Box::new(Dummy), _ => bail!("unknown driver"), }) } diff --git a/cache/src/lib.rs b/cache/src/lib.rs index d68266f..c939a9c 100644 --- a/cache/src/lib.rs +++ b/cache/src/lib.rs @@ -55,6 +55,14 @@ pub fn init_cache() -> Result<()> { .unwrap(); Ok(()) } +pub fn init_cache_dummy() -> Result<()> { + *CONF_PRELOAD.lock().unwrap() = Some(Config { + driver: "dummy".to_string(), + path: PathBuf::default(), + max_in_memory_cache_size: 0, + }); + init_cache() +} fn bucket(key: &str) -> usize { let mut h = DefaultHasher::new(); -- cgit v1.3