Flavors
yaws reference runtime implementations are called flavors.
yaws provides initially the reference runtimes or flavors for:
- Lunatic Rust+Erlang+WebAssembly Guest-side
- io_uring Linux io_uring Completion Host-side
Binary Runtime
User can run any of the flavors directly as binary through cfg(yaws_flavor)
.
This cfg can be either supplied through .cargo/config.toml
or through --cfg
via the top-level binary.
io_uring Binary
$ RUSTFLAGS="--cfg yaws_flavor=\"io_uring\"" cargo run --bin yaws
Lunatic Binary
$ RUSTFLAGS="--cfg yaws_flavor=\"lunatic\"" cargo run --bin yaws --target wasm32-wasi
Library Driver
User can implement the I/O traits in conjuction with the abstract machines implementing HTTP.
Refer to the API documentation or see the existing reference runtimes or flavors for examples.