pub struct Bindings {}
Expand description
Auto-generated bindings for an instance a component which
implements the world bindings
.
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
Bindings::instantiate_async
which only needs aStore
,Component
, andLinker
. -
Alternatively you can create a
BindingsPre
ahead of time with aComponent
to front-load string lookups of exports once instead of per-instantiation. This method then usesBindingsPre::instantiate_async
to create aBindings
. -
If you’ve instantiated the instance yourself already then you can use
Bindings::new
.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl Bindings
impl Bindings
Sourcepub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Bindings>where
_T: Send,
pub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Bindings>where
_T: Send,
Convenience wrapper around BindingsPre::new
and
BindingsPre::instantiate_async
.
Sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Bindings>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Bindings>
Convenience wrapper around BindingsIndices::new
and
BindingsIndices::load
.
pub fn add_to_linker<T, D>( linker: &mut Linker<T>, host_getter: fn(&mut T) -> D::Data<'_>, ) -> Result<()>
Auto Trait Implementations§
impl Freeze for Bindings
impl RefUnwindSafe for Bindings
impl Send for Bindings
impl Sync for Bindings
impl Unpin for Bindings
impl UnwindSafe for Bindings
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