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

Включает или отключает использование API WebAssembly System Interface, предоставляющих базовый POSIX-подобный функционал для WASM-модулей, запускаемых в Angie.

Примечание

API, специфичные для Angie, можно разрешить явно с помощью директивы load.

wasmtime_stack_size#

Синтаксис

wasmtime_stack_size размер;

По умолчанию

wasmtime_stack_size 8k;

Контекст

wasm_modules

Устанавливает для значения max_wasm_stack заданный размер, тем самым ограничивая максимальный объем стека, доступного для выполнения WASM-кода.