Struct wasmer_cache::FileSystemCache
source · pub struct FileSystemCache { /* private fields */ }
Expand description
Representation of a directory that contains compiled wasm artifacts.
The FileSystemCache
type implements the Cache
trait, which allows it to be used
generically when some sort of cache is required.
Usage
use wasmer::{DeserializeError, SerializeError};
use wasmer_cache::{Cache, FileSystemCache, Hash};
fn store_module(module: &Module, bytes: &[u8]) -> Result<(), SerializeError> {
// Create a new file system cache.
let mut fs_cache = FileSystemCache::new("some/directory/goes/here")?;
// Compute a key for a given WebAssembly binary
let key = Hash::generate(bytes);
// Store a module into the cache given a key
fs_cache.store(key, module)?;
Ok(())
}
Implementations§
source§impl FileSystemCache
impl FileSystemCache
sourcepub fn new<P: Into<PathBuf>>(path: P) -> Result<Self>
pub fn new<P: Into<PathBuf>>(path: P) -> Result<Self>
Construct a new FileSystemCache
around the specified directory.
sourcepub fn set_cache_extension(&mut self, ext: Option<impl ToString>)
pub fn set_cache_extension(&mut self, ext: Option<impl ToString>)
Set the extension for this cached file.
This is needed for loading native files from Windows, as otherwise
loading the library will fail (it requires a .dll
extension)
Trait Implementations§
source§impl Cache for FileSystemCache
impl Cache for FileSystemCache
§type DeserializeError = DeserializeError
type DeserializeError = DeserializeError
The deserialization error for the implementation
§type SerializeError = SerializeError
type SerializeError = SerializeError
The serialization error for the implementation
source§unsafe 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>
source§fn 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
.source§impl Clone for FileSystemCache
impl Clone for FileSystemCache
source§fn clone(&self) -> FileSystemCache
fn clone(&self) -> FileSystemCache
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl RefUnwindSafe for FileSystemCache
impl Send for FileSystemCache
impl Sync for FileSystemCache
impl Unpin for FileSystemCache
impl UnwindSafe for FileSystemCache
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.