NAME
Wasm::Wasmer::WASI - Customized WASI configuration
SYNOPSIS
my $wasi = $module->store()->create_wasi(
name => 'name-of-program', # empty string by default
args => [ '--foo', 'bar' ],
stdin => 'inherit',
stdout => 'inherit', # or 'capture'
stderr => 'inherit', # ^^ likewise
env => [
key1 => value1,
key2 => value2,
# ...
],
preopen_dirs => [ '/path/to/dir' ],
map_dirs => {
'/alias/dir' => '/real/path',
# ...
},
);
my $instance = $module->create_wasi_instance($wasi);
DESCRIPTION
This module implements controls for Wasmer’s WASI implementation. As shown above, you use it to define the imports to give to a newly-created instance of a given module. From there you can run your program as you’d normally do.
This module is not directly instantiated; see Wasm::Wasmer::Store for how to create an instance.
METHODS
$store = OBJ->store()
Returns OBJ’s associated Wasm::Wasmer::Store instance.
$str = OBJ->read_stdout($LENGTH)
Reads and returns up to $LENGTH bytes from the internal STDOUT capture.
Only useful if new()
’s stdout
was capture
.
$str = OBJ->read_stderr($LENGTH)
Like read_stdout()
but for captured STDERR.