pub struct App { /* private fields */ }component-model and crate feature runtime and (docsrs) only.Expand description
Auto-generated bindings for an instance a component which
implements the world app.
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
App::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
AppPreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesAppPre::instantiateto create aApp. -
If you’ve instantiated the instance yourself already then you can use
App::new.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl App
impl App
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<App>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<App>
Convenience wrapper around AppPre::new and
AppPre::instantiate.
Sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<App>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<App>
Convenience wrapper around AppIndices::new and
AppIndices::load.
Sourcepub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<App>where
_T: Send,
pub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<App>where
_T: Send,
Convenience wrapper around AppPre::new and
AppPre::instantiate_async.
pub fn add_to_linker<T, D>( linker: &mut Linker<T>, host_getter: fn(&mut T) -> D::Data<'_>, ) -> Result<()>
pub fn func_run(&self) -> TypedFunc<(), ()>
Auto Trait Implementations§
impl Freeze for App
impl RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
impl UnwindSafe for App
Blanket Implementations§
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
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