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::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
BindingsPreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesBindingsPre::instantiateto 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 fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Bindings>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<Bindings>
Convenience wrapper around BindingsPre::new and
BindingsPre::instantiate.
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.
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.
pub fn add_to_linker<T, D>(
linker: &mut Linker<T>,
host_getter: fn(&mut T) -> D::Data<'_>,
) -> Result<()>where
D: HostWithStore + HostWithStore + HostWithStore + Send,
for<'a> D::Data<'a>: Host + Host + Host + Send,
T: 'static + Send,
Auto Trait Implementations§
impl Freeze for Bindings
impl RefUnwindSafe for Bindings
impl Send for Bindings
impl Sync for Bindings
impl Unpin for Bindings
impl UnsafeUnpin 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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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