pub struct ProcedurePlugin { /* private fields */ }Expand description
Auto-generated bindings for an instance a component which
implements the world procedure-plugin.
This structure can be created through a number of means depending on your requirements and what you have on hand:
-
The most convenient way is to use
ProcedurePlugin::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
ProcedurePluginPreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesProcedurePluginPre::instantiateto create aProcedurePlugin. -
If you’ve instantiated the instance yourself already then you can use
ProcedurePlugin::new.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl ProcedurePlugin
impl ProcedurePlugin
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<ProcedurePlugin>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<ProcedurePlugin>
Convenience wrapper around ProcedurePluginPre::new and
ProcedurePluginPre::instantiate.
Sourcepub fn new(
store: impl AsContextMut,
instance: &Instance,
) -> Result<ProcedurePlugin>
pub fn new( store: impl AsContextMut, instance: &Instance, ) -> Result<ProcedurePlugin>
Convenience wrapper around ProcedurePluginIndices::new and
ProcedurePluginIndices::load.
Sourcepub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<ProcedurePlugin>where
_T: Send,
pub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<ProcedurePlugin>where
_T: Send,
Convenience wrapper around ProcedurePluginPre::new and
ProcedurePluginPre::instantiate_async.
pub fn add_to_linker<T, D>( linker: &mut Linker<T>, host_getter: fn(&mut T) -> D::Data<'_>, ) -> Result<()>
pub fn call_manifest<S: AsContextMut>(&self, store: S) -> Result<String>
pub fn call_register<S: AsContextMut>(&self, store: S) -> Result<String>
pub fn call_invoke_procedure<S: AsContextMut>( &self, store: S, arg0: &str, arg1: &[u8], ) -> Result<Result<Vec<u8>, FnError>>
Auto Trait Implementations§
impl Freeze for ProcedurePlugin
impl RefUnwindSafe for ProcedurePlugin
impl Send for ProcedurePlugin
impl Sync for ProcedurePlugin
impl Unpin for ProcedurePlugin
impl UnsafeUnpin for ProcedurePlugin
impl UnwindSafe for ProcedurePlugin
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more