wasmer_cache

Trait 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§

Source

type SerializeError: Error + Send + Sync

The serialization error for the implementation

Source

type DeserializeError: Error + Send + Sync

The deserialization error for the implementation

Required Methods§

Source

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.

Source

fn store( &mut self, key: Hash, module: &Module, ) -> Result<(), Self::SerializeError>

Store a Module into the cache with the given crate::Hash.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§