Wasmtime#

该模块支持与 Wasmtime 运行时的集成,以执行 WASM 代码, 并向 wasm_modules 上下文添加了一些特定于运行时的指令。

在我们的代码库中,该模块是以 动态 方式构建的, 并作为一个名为 angie-module-wasmtime 的单独包提供。

配置示例#

wasm_modules {

    wasmtime_stack_size 8k;

    wasmtime_enable_wasi on;

    load fft_transform.wasm id=fft;
}

指令#

wasmtime_enable_wasi#

语法

wasmtime_enable_wasi on | off;

默认值

wasmtime_enable_wasi on;

上下文

wasm_modules

启用或禁用 WebAssembly System Interface API 的使用, 这些 API 为在 Angie 上运行的 WASM 模块提供了基本的 POSIX 类功能

备注

可以使用 load 指令将特定的 Angie API 列入白名单。

wasmtime_stack_size#

语法

wasmtime_stack_size size;

默认值

wasmtime_stack_size 8k;

上下文

wasm_modules

max_wasm_stack 值设置为特定的 size, 从而限制执行 WASM 代码时可用的最大堆栈空间。