pub trait Cache {
type SerializeError: Error + Send + Sync;
type DeserializeError: Error + Send + Sync;
// Required methods
unsafe fn load(
&self,
engine: &impl AsEngineRef,
key: Hash,
) -> Result<Module, Self::DeserializeError>;
fn store(
&mut self,
key: Hash,
module: &Module,
) -> Result<(), Self::SerializeError>;
}
Expand description
A generic cache for storing and loading compiled wasm modules.
Required Associated Types§
sourcetype SerializeError: Error + Send + Sync
type SerializeError: Error + Send + Sync
The serialization error for the implementation
sourcetype DeserializeError: Error + Send + Sync
type DeserializeError: Error + Send + Sync
The deserialization error for the implementation
Required Methods§
sourceunsafe fn load(
&self,
engine: &impl AsEngineRef,
key: Hash,
) -> Result<Module, Self::DeserializeError>
unsafe fn load( &self, engine: &impl AsEngineRef, key: Hash, ) -> Result<Module, Self::DeserializeError>
Loads a module using the provided wasmer::Store
and crate::Hash
.
§Safety
This function is unsafe as the cache store could be tampered with.
sourcefn store(
&mut self,
key: Hash,
module: &Module,
) -> Result<(), Self::SerializeError>
fn store( &mut self, key: Hash, module: &Module, ) -> Result<(), Self::SerializeError>
Store a Module
into the cache with the given crate::Hash
.
Object Safety§
This trait is not object safe.
Implementors§
source§impl Cache for FileSystemCache
Available on crate feature filesystem
only.
impl Cache for FileSystemCache
Available on crate feature
filesystem
only.