Struct wasmer_engine::ExportFunctionMetadata
source · [−]pub struct ExportFunctionMetadata { /* private fields */ }
Expand description
Extra metadata about ExportFunction
s.
The metadata acts as a kind of manual virtual dispatch. We store the
user-supplied WasmerEnv
as a void pointer and have methods on it
that have been adapted to accept a void pointer.
This struct owns the original host_env
, thus when it gets dropped
it calls the drop
function on it.
Implementations
sourceimpl ExportFunctionMetadata
impl ExportFunctionMetadata
sourcepub unsafe fn new(
host_env: *mut c_void,
import_init_function_ptr: Option<ImportInitializerFuncPtr>,
host_env_clone_fn: fn(_: *mut c_void) -> *mut c_void,
host_env_drop_fn: fn(_: *mut c_void)
) -> Self
pub unsafe fn new(
host_env: *mut c_void,
import_init_function_ptr: Option<ImportInitializerFuncPtr>,
host_env_clone_fn: fn(_: *mut c_void) -> *mut c_void,
host_env_drop_fn: fn(_: *mut c_void)
) -> Self
Create an ExportFunctionMetadata
type with information about
the exported function.
Safety
- the
host_env
must beSend
. - all function pointers must work on any thread.
Trait Implementations
sourceimpl Debug for ExportFunctionMetadata
impl Debug for ExportFunctionMetadata
sourceimpl Drop for ExportFunctionMetadata
impl Drop for ExportFunctionMetadata
sourceimpl MemoryUsage for ExportFunctionMetadata
impl MemoryUsage for ExportFunctionMetadata
sourcefn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
Returns the size of the referenced value in bytes. Read more
sourceimpl PartialEq<ExportFunctionMetadata> for ExportFunctionMetadata
impl PartialEq<ExportFunctionMetadata> for ExportFunctionMetadata
sourcefn eq(&self, other: &ExportFunctionMetadata) -> bool
fn eq(&self, other: &ExportFunctionMetadata) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ExportFunctionMetadata) -> bool
fn ne(&self, other: &ExportFunctionMetadata) -> bool
This method tests for !=
.
impl Send for ExportFunctionMetadata
This can be Send
because host_env
comes from WasmerEnv
which is
Send
. Therefore all operations should work on any thread.
impl StructuralPartialEq for ExportFunctionMetadata
impl Sync for ExportFunctionMetadata
This data may be shared across threads, drop
is an unsafe function
pointer, so care must be taken when calling it.
Auto Trait Implementations
impl RefUnwindSafe for ExportFunctionMetadata
impl Unpin for ExportFunctionMetadata
impl UnwindSafe for ExportFunctionMetadata
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.
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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 F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
pub fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
pub fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer