Trait wasmer_cache::Cache
source · 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
.