Hi I'm Yaws and I swim where the hyper doesn't
For now I am just trying out some tricks..
Lunatic Flavor:
$ RUSTFLAGS="--cfg yaws_flavor=\"lunatic\"" cargo run --bin yaws --target wasm32-wasi
io_uring Flavor:
$ RUSTFLAGS="--cfg yaws_flavor=\"io_uring\"" cargo run --bin yaws
- Lunatic guest impl can co-exist with Host io_uring / I/O Rings impl.
- TCP_NOTSENT_LOWAT - https://lwn.net/Articles/560082/
- h1/2spec sans-io - https://github.com/brettcannon/sans-io/blob/main/how-to-sans-io.rst
- gRPC + no-serialization hand-off
yaws has two flavors available controlled via cfg(yaws_flawor)
-
cfg(yaws_flavor = "io_uring")
-yaws-run-uring
- TODO -
cfg(yaws_flavor = "lunatic")
-yaws-run-lunatic
- TODO
This will use io_uring flavor of Yaws Host side
Goal: Fast I/O
This will use the Lunatic flavor of Yaws inside Lunatic VM
Goal: Run inside Lunatic VM
yaws aims to be h1 and h2 spec compliant
-
yaws-spec-h1
- TODO -
yaws-spec-h2
- TODO
Licensed under either of:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.