pub struct WasiRandom;Expand description
A helper struct which implements HasData for the wasi:random APIs.
This can be useful when directly calling add_to_linker functions directly,
such as [wasmtime_wasi::p2::bindings::random::random::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 WasiRandomView trait, for
example.
§Examples
use wasmtime::component::Linker;
use wasmtime::{Engine, Result, Config};
use wasmtime_wasi::random::*;
struct MyStoreState {
random: WasiRandomCtx,
}
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::random::random::add_to_linker::<MyStoreState, WasiRandom>(
&mut linker,
|state| &mut state.random,
)?;
Ok(())
}Trait Implementations§
Source§impl HasData for WasiRandom
impl HasData for WasiRandom
Source§type Data<'a> = &'a mut WasiRandomCtx
type Data<'a> = &'a mut WasiRandomCtx
The data associated with this trait implementation, chiefly used as a
generic associated type to allow plumbing the
'a lifetime into the
definition here. Read moreAuto Trait Implementations§
impl Freeze for WasiRandom
impl RefUnwindSafe for WasiRandom
impl Send for WasiRandom
impl Sync for WasiRandom
impl Unpin for WasiRandom
impl UnwindSafe for WasiRandom
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,
§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>
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