Features of WASIX
-
Full Support for Efficient Multithreading: WASIX enables applications to better utilize system resources and achieve superior performance.
-
Full Support for Sockets: WASIX supports functions like socket, bind, connect, and types including IPv4, IPv6, UDP, TCP, Multicast, Anycast, and RAW sockets.
-
Directory Support: WASIX introduces
chdir
function for handling the current directory. -
Support for
setjmp
andlongjmp
: These functions, used extensively in libc, are supported via asyncify. -
Support for
pthreads
: WASIX supports the POSIX thread libraries, enabling concurrent processing. -
Support for Process Forking: Functions such as fork and vfork are supported, allowing a process to replicate itself.
-
Subprocess Spawning and Waiting: WASIX supports the exec and wait functions for handling subprocesses.
-
TTY Support: WASIX provides functions to control terminal I/O.
-
Asynchronous Polling of Sockets and Files: This feature enhances application responsiveness and performance.
-
Pipe and Event Support: WASIX supports pipe and event functions for interprocess communication.
-
DNS Resolution Support: WASIX introduces the resolve function for DNS resolution.
-
Compiler Support: WASIX provides toolchains for Rust and C, including support for Zig and AssemblyScript.
-
Runtime Support: WASIX supports the Wasmer runtime, with expectations for more runtimes to join soon.
-
Uniform Support Across Environments: All features are supported on both the browser and the server (except for sockets and DNS resolution on the browser, with updates forthcoming).
-
Browser Support: WASIX supports the browser via the Wasmer runtime. Packages can run on the browser using
@wasmer/wasi
(opens in a new tab)