Struct wasmer_types::SerializableModule
source · [−]pub struct SerializableModule {
pub compilation: SerializableCompilation,
pub compile_info: CompileModuleInfo,
pub data_initializers: Box<[OwnedDataInitializer]>,
pub cpu_features: u64,
}
Expand description
Serializable struct that is able to serialize from and to a ArtifactInfo
.
Fields
compilation: SerializableCompilation
The main serializable compilation object
compile_info: CompileModuleInfo
Compilation informations
data_initializers: Box<[OwnedDataInitializer]>
Datas initializers
cpu_features: u64
CPU Feature flags for this compilation
Implementations
sourceimpl SerializableModule
impl SerializableModule
sourcepub fn serialize(&self) -> Result<Vec<u8>, SerializeError>
pub fn serialize(&self) -> Result<Vec<u8>, SerializeError>
Serialize a Module into bytes The bytes will have the following format: RKYV serialization (any length) + POS (8 bytes)
sourcepub unsafe fn deserialize(
metadata_slice: &[u8]
) -> Result<Self, DeserializeError>
pub unsafe fn deserialize(
metadata_slice: &[u8]
) -> Result<Self, DeserializeError>
Deserialize a Module from a slice. The slice must have the following format: RKYV serialization (any length) + POS (8 bytes)
Safety
This method is unsafe since it deserializes data directly
from memory.
Right now we are not doing any extra work for validation, but
rkyv
has an option to do bytecheck on the serialized data before
serializing (via rkyv::check_archived_value
).
sourcepub fn deserialize_from_archive(
archived: &ArchivedSerializableModule
) -> Result<Self, DeserializeError>
pub fn deserialize_from_archive(
archived: &ArchivedSerializableModule
) -> Result<Self, DeserializeError>
Deserialize a compilation module from an archive
sourcepub fn create_module_info(&self) -> ModuleInfo
pub fn create_module_info(&self) -> ModuleInfo
Create a ModuleInfo
for instantiation
sourcepub fn cpu_features(&self) -> EnumSet<CpuFeature>
pub fn cpu_features(&self) -> EnumSet<CpuFeature>
Returns the CPU features for this Artifact
sourcepub fn data_initializers(&self) -> &[OwnedDataInitializer]
pub fn data_initializers(&self) -> &[OwnedDataInitializer]
Returns data initializers to pass to InstanceHandle::initialize
sourcepub fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>
pub fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>
Returns the memory styles associated with this Artifact
.
sourcepub fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>
pub fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>
Returns the table plans associated with this Artifact
.
sourcepub fn serialize_to_file(&self, path: &Path) -> Result<(), SerializeError>
pub fn serialize_to_file(&self, path: &Path) -> Result<(), SerializeError>
Serializes an artifact into a file path
Trait Implementations
sourceimpl Archive for SerializableModule where
SerializableCompilation: Archive,
CompileModuleInfo: Archive,
Box<[OwnedDataInitializer]>: Archive,
u64: Archive,
impl Archive for SerializableModule where
SerializableCompilation: Archive,
CompileModuleInfo: Archive,
Box<[OwnedDataInitializer]>: Archive,
u64: Archive,
sourceimpl<__D: Fallible + ?Sized> Deserialize<SerializableModule, __D> for Archived<SerializableModule> where
SerializableCompilation: Archive,
Archived<SerializableCompilation>: Deserialize<SerializableCompilation, __D>,
CompileModuleInfo: Archive,
Archived<CompileModuleInfo>: Deserialize<CompileModuleInfo, __D>,
Box<[OwnedDataInitializer]>: Archive,
Archived<Box<[OwnedDataInitializer]>>: Deserialize<Box<[OwnedDataInitializer]>, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
impl<__D: Fallible + ?Sized> Deserialize<SerializableModule, __D> for Archived<SerializableModule> where
SerializableCompilation: Archive,
Archived<SerializableCompilation>: Deserialize<SerializableCompilation, __D>,
CompileModuleInfo: Archive,
Archived<CompileModuleInfo>: Deserialize<CompileModuleInfo, __D>,
Box<[OwnedDataInitializer]>: Archive,
Archived<Box<[OwnedDataInitializer]>>: Deserialize<Box<[OwnedDataInitializer]>, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
sourcefn deserialize(
&self,
deserializer: &mut __D
) -> Result<SerializableModule, __D::Error>
fn deserialize(
&self,
deserializer: &mut __D
) -> Result<SerializableModule, __D::Error>
Deserializes using the given deserializer
sourceimpl<__S: Fallible + ?Sized> Serialize<__S> for SerializableModule where
SerializableCompilation: Serialize<__S>,
CompileModuleInfo: Serialize<__S>,
Box<[OwnedDataInitializer]>: Serialize<__S>,
u64: Serialize<__S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for SerializableModule where
SerializableCompilation: Serialize<__S>,
CompileModuleInfo: Serialize<__S>,
Box<[OwnedDataInitializer]>: Serialize<__S>,
u64: Serialize<__S>,
Auto Trait Implementations
impl RefUnwindSafe for SerializableModule
impl Send for SerializableModule
impl Sync for SerializableModule
impl Unpin for SerializableModule
impl UnwindSafe for SerializableModule
Blanket Implementations
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
sourcefn 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.
sourceimpl<T> ArchiveUnsized for T where
T: Archive,
impl<T> ArchiveUnsized for T where
T: Archive,
type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike Archive
, it may be unsized. Read more
type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
sourceunsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
unsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more