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§

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.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Cache for FileSystemCache

Available on crate feature filesystem only.