pub struct Source { /* private fields */ }Expand description
Auto-generated bindings for an instance a component which
implements the world source.
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
Source::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
SourcePreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesSourcePre::instantiateto create aSource. -
If you’ve instantiated the instance yourself already then you can use
Source::new.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl Source
impl Source
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Source>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<Source>
Convenience wrapper around SourcePre::new and
SourcePre::instantiate.
Sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Source>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Source>
Convenience wrapper around SourceIndices::new and
SourceIndices::load.
Sourcepub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Source>where
_T: Send,
pub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Source>where
_T: Send,
Convenience wrapper around SourcePre::new and
SourcePre::instantiate_async.
pub fn add_to_linker<T, D>(
linker: &mut Linker<T>,
host_getter: fn(&mut T) -> D::Data<'_>,
) -> Result<()>where
D: HostWithStore<T> + HostWithStore<T> + Send,
for<'a> D::Data<'a>: Host + Host + Send,
T: 'static + Send,
pub fn func_configure( &self, ) -> TypedFunc<(&[(String, String)],), (Result<SourcePlan, WasmError>,)>
pub fn call_configure<S: AsContextMut>( &self, store: S, arg0: &[(String, String)], ) -> Result<Result<SourcePlan, WasmError>>
pub fn func_run( &self, ) -> TypedFunc<(Resource<HttpListener>,), (Result<(), WasmError>,)>
pub async fn call_run<_T, _D>( &self, accessor: &Accessor<_T, _D>, arg0: Resource<HttpListener>, ) -> Result<Result<(), WasmError>>
Auto Trait Implementations§
impl Freeze for Source
impl RefUnwindSafe for Source
impl Send for Source
impl Sync for Source
impl Unpin for Source
impl UnsafeUnpin for Source
impl UnwindSafe for Source
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§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