summaryrefslogtreecommitdiff
path: root/shared/src/store.rs
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/store.rs')
-rw-r--r--shared/src/store.rs10
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) => {