mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-15 22:28:10 +08:00
Make Resource aware of its own hash (#4187)
* Fix future message handler field name * Add Resource::hash() * Move all remaining resource types from core-types to graphene-resources * Review
This commit is contained in:
@@ -53,7 +53,7 @@ impl MmapResourceStorage {
|
||||
|
||||
let path = self.path_for(hash);
|
||||
let mmap = Self::open_mmap(&path)?;
|
||||
let resource = Resource::new(MmappedBytes(mmap));
|
||||
let resource = Resource::new_unchecked(MmappedBytes(mmap), *hash);
|
||||
|
||||
self.cache.write().unwrap_or_else(|poisoned| poisoned.into_inner()).insert(*hash, resource.clone());
|
||||
Some(resource)
|
||||
|
||||
@@ -81,7 +81,7 @@ impl ResourceStorage for OpfsResourceStorage {
|
||||
let mut bytes = None;
|
||||
if !guard.cache.contains_key(&hash) {
|
||||
let resource_bytes = Arc::<[u8]>::from(data);
|
||||
guard.cache.insert(hash, Resource::new(resource_bytes.clone()));
|
||||
guard.cache.insert(hash, Resource::new_unchecked(resource_bytes.clone(), hash));
|
||||
bytes = Some(resource_bytes);
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ async fn read_from_opfs(inner: Arc<Mutex<Inner>>, hash: ResourceHash) -> Option<
|
||||
return None;
|
||||
}
|
||||
|
||||
let resource = Resource::new(bytes);
|
||||
let resource = Resource::new_unchecked(bytes, hash);
|
||||
let mut guard = inner.lock().unwrap();
|
||||
if let Some(resource) = guard.cache.get(&hash) {
|
||||
return Some(resource.clone());
|
||||
|
||||
Reference in New Issue
Block a user