Introducing WASIX
The superset of WASI
Introduction
WASIX is the long term stabilization and support of the existing WASI ABI plus additional non-invasive syscall extensions that complete the missing gaps sufficiently enough to enable real, practical and useful applications to be compiled and used now. It aims to speed up the ecosystem around the WASI so that the Wasm’ification of code bases around the world can really start today!
Features
Networking
WASIX has full support for sockets (socket,bind,connect)
- IPv4, IPv6
- UDP, TCP
- Multicast, Anycast
- RAW sockets
Multi-threading
Full Support for Efficient Multithreadingenabling applications to better utilize system resources and achieve superior performance.
- Rayon in Rust
- pthreads in C
Asynchronous Runtimes Support
Asynchronous polling of Sockets and Files for application responsiveness and performance.
Filesystem Support
WASIX fully supports the POSIX Filesystem API (open,read,write,close) and more.
Browser Support
WASIX compiled programs can directly run in the browser using@wasmer/wasi package
lngjmp & setjmp
WASIX has support for bothlngjmp and setjmp using asyncify.
Subprocesses
WASIX can create and wait for subprocesses using
- exec
- wait
Process Forking
WASIX supports bothfork and vfork. Allowing a process to create a copy of itself.
TTY Support
WASIX provides functions to control Terminal I/O.
Runtime Support
WASIX supports the Wasmer runtime, with expectations for more runtimes to join soon. WASIX provides toolchains for Rust and C, including support for Zig.
Just works in WASIX
All the apps you love
Get started with Wasix
You can get started with Wasix by installing the toolchain and trying out the examples. Join the community to get help and share your projects.