pub struct Service { /* private fields */ }p3 only.Expand description
Bindings to the wasi:http/service world.
Auto-generated bindings for an instance a component which
implements the world service.
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
Service::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
ServicePreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesServicePre::instantiateto create aService. -
If you’ve instantiated the instance yourself already then you can use
Service::new.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl Service
impl Service
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Service>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<Service>
Convenience wrapper around ServicePre::new and
ServicePre::instantiate.
Sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Service>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<Service>
Convenience wrapper around ServiceIndices::new and
ServiceIndices::load.
Sourcepub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Service>where
_T: Send,
pub async fn instantiate_async<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<Service>where
_T: Send,
Convenience wrapper around ServicePre::new and
ServicePre::instantiate_async.
pub fn add_to_linker<T, D>(
linker: &mut Linker<T>,
options: &LinkOptions,
host_getter: fn(&mut T) -> D::Data<'_>,
) -> Result<()>where
D: HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + HostWithStore + Send,
for<'a> D::Data<'a>: Host + Host + Host + Host + Host + Host + Host + Host + Host + Host + Host + Host + Host + Send,
T: 'static + Send,
pub fn wasi_http_handler(&self) -> &Guest
Auto Trait Implementations§
impl Freeze for Service
impl RefUnwindSafe for Service
impl Send for Service
impl Sync for Service
impl Unpin for Service
impl UnwindSafe for Service
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
§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.§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,
§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