pub struct StateBuilder;
Expand description

Convenient builder API for configuring WASI.

Use the constructor to pass the arguments, environments, preopen directories and map directories, or use the associated methods to build the state step-by-steps.

Implementations§

source§

impl StateBuilder

source

pub fn new(program_name: String) -> Self

source

pub fn argument(&mut self, argument: String) -> Self

Adds an argument.

Arguments must not contain the nul (0x0) byte.

source

pub fn arguments(&mut self, arguments: Array<String>) -> Self

Adds multiple arguments.

Arguments must not contain the nul (0x0) byte.

source

pub fn environment(&mut self, key: String, value: String) -> Self

Add an environment variable pair.

Environment variable keys and values must not contain the byte = (0x3d) or null (0x0).

source

pub fn environments(&mut self, pairs: Hash<String, String>) -> Self

Add environment variable pairs.

Environment variable keys and values must not contain the byte = (0x3d) or null (0x0).

source

pub fn preopen_directory(&mut self, alias: String, value: String) -> Self

Preopen a directory with a different name exposed to the WASI.

This opens the given directories at the virtual root, /, and allows the WASI module to read and write to the given directories.

source

pub fn preopen_directories(&mut self, pairs: Hash<String, String>) -> Self

Preopen directories with a different name exposed to the WASI.

This opens the given directories at the virtual root, /, and allows the WASI module to read and write to the given directories.

source

pub fn map_directory(&mut self, alias: String, value: String) -> Self

Preopen a directory with a different name exposed to the WASI.

source

pub fn map_directories(&mut self, pairs: Hash<String, String>) -> Self

Preopen directories with a different name exposed to the WASI.

source

pub fn finalize(&mut self) -> Environment

Produces a WASI Environment based on this state builder.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.