aboutsummaryrefslogtreecommitdiff
path: root/cache
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-12-12 16:44:20 +0100
committermetamuffin <metamuffin@disroot.org>2025-12-12 16:44:20 +0100
commit5664e5df0e2295697363dacd23614143b9d7cadb (patch)
tree4eba27957aadc1ec9389f16f0078e506ed2b7edc /cache
parent3661af07620caad1bfa46fa6902054797433fc0f (diff)
downloadjellything-5664e5df0e2295697363dacd23614143b9d7cadb.tar
jellything-5664e5df0e2295697363dacd23614143b9d7cadb.tar.bz2
jellything-5664e5df0e2295697363dacd23614143b9d7cadb.tar.zst
make jellytool work again; dummy cache driver
Diffstat (limited to 'cache')
-rw-r--r--cache/src/backends/dummy.rs18
-rw-r--r--cache/src/backends/mod.rs4
-rw-r--r--cache/src/lib.rs8
3 files changed, 29 insertions, 1 deletions
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 <metamuffin.org>
+*/
+
+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<Option<Vec<u8>>> {
+ 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 <metamuffin.org>
*/
+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<Box<dyn CacheStorage>> {
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();