Struct wasmcloud_runtime::capability::Interfaces
source · pub struct Interfaces {}
Expand description
Auto-generated bindings for an instance a component which
implements the world interfaces
.
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
Interfaces::instantiate_async
which only needs aStore
,Component
, andLinker
. -
Alternatively you can create a [
InterfacesPre
] ahead of time with aComponent
to front-load string lookups of exports once instead of per-instantiation. This method then uses [InterfacesPre::instantiate_async
] to create aInterfaces
. -
If you’ve instantiated the instance yourself already then you can use
Interfaces::new
. -
You can also access the guts of instantiation through [
InterfacesIndices::new_instance
] followed by [InterfacesIndices::load
] to crate an instance of this type.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
source§impl Interfaces
impl Interfaces
sourcepub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Interfaces>where
_T: Send,
pub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Interfaces>where
_T: Send,
Convenience wrapper around [InterfacesPre::new
] and
[InterfacesPre::instantiate_async
].
sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Interfaces>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Interfaces>
Convenience wrapper around [InterfacesIndices::new_instance
] and
[InterfacesIndices::load
].
pub fn add_to_linker<T, U>( linker: &mut Linker<T>, get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static, ) -> Result<()>
Auto Trait Implementations§
impl Freeze for Interfaces
impl RefUnwindSafe for Interfaces
impl Send for Interfaces
impl Sync for Interfaces
impl Unpin for Interfaces
impl UnwindSafe for Interfaces
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> 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: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: 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