pub struct WasiCli;
Expand description
A helper struct which implements [HasData
] for the wasi:cli
APIs.
This can be useful when directly calling add_to_linker
functions directly,
such as [wasmtime_wasi::p2::bindings::cli::environment::add_to_linker
] as
the D
type parameter. See [HasData
] for more information about the type
parameter’s purpose.
When using this type you can skip the WasiCliView
trait, for
example.
§Examples
use wasmtime::component::{Linker, ResourceTable};
use wasmtime::{Engine, Result, Config};
use wasmtime_wasi::cli::*;
struct MyStoreState {
table: ResourceTable,
cli: WasiCliCtx,
}
fn main() -> Result<()> {
let mut config = Config::new();
config.async_support(true);
let engine = Engine::new(&config)?;
let mut linker = Linker::new(&engine);
wasmtime_wasi::p2::bindings::cli::environment::add_to_linker::<MyStoreState, WasiCli>(
&mut linker,
|state| WasiCliCtxView {
table: &mut state.table,
ctx: &mut state.cli,
},
)?;
Ok(())
}
Trait Implementations§
Auto Trait Implementations§
impl Freeze for WasiCli
impl RefUnwindSafe for WasiCli
impl Send for WasiCli
impl Sync for WasiCli
impl Unpin for WasiCli
impl UnwindSafe for WasiCli
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
Mutably borrows from an owned value. Read more
§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,
Query the “status” flags for the
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,
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>
Converts
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>
Converts
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