diff options
author | metamuffin <metamuffin@disroot.org> | 2025-03-12 16:34:45 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-03-12 16:34:45 +0100 |
commit | 3ed621256f1e02032250477fa574eab38bd34976 (patch) | |
tree | 100f24b5a97a20cee87fd14b1a68e8250a6328f9 /shared/src/store.rs | |
parent | 56ffdcff01b57af14db97b4515b419da0d234387 (diff) | |
download | weareserver-3ed621256f1e02032250477fa574eab38bd34976.tar weareserver-3ed621256f1e02032250477fa574eab38bd34976.tar.bz2 weareserver-3ed621256f1e02032250477fa574eab38bd34976.tar.zst |
respack
Diffstat (limited to 'shared/src/store.rs')
-rw-r--r-- | shared/src/store.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/shared/src/store.rs b/shared/src/store.rs index 3db6bac..e3e5949 100644 --- a/shared/src/store.rs +++ b/shared/src/store.rs @@ -76,6 +76,16 @@ impl ResourceStore { pub fn set<T: ReadWrite>(&self, value: &T) -> Result<Resource<T>> { Ok(Resource(self.set_raw(&value.write_alloc())?.0, PhantomData)) } + pub fn get_raw_size(&self, key: Resource) -> Result<Option<usize>> { + match self { + ResourceStore::Redb(_) => todo!(), + ResourceStore::Filesystem(_) => todo!(), + ResourceStore::Memory(mutex) => { + let g = mutex.lock().unwrap(); + Ok(g.get(&key).map(|s| s.len())) + } + } + } pub fn get_raw(&self, key: Resource) -> Result<Option<Vec<u8>>> { match self { ResourceStore::Redb(database) => { |