diff --git a/docs/pages/index.mdx b/docs/pages/index.mdx index caf033a..11518a2 100644 --- a/docs/pages/index.mdx +++ b/docs/pages/index.mdx @@ -18,4 +18,19 @@ zig-aio provides io_uring like asynchronous API and coroutine powered IO tasks f - Cancellation - Timeouts - Comes with a runtime and scheduler for coroutines -- Tightly tied into io_uring +- Portable high precision timers compatible with `io_uring` `timeout` +- Tightly tied into `io_uring` by providing compatible API + +## Support matrix + +| OS | AIO | CORO | +|---------|-----------------|-----------------| +| Linux | io_uring, posix | x86_64, aarch64 | +| Windows | iocp | x86_64, aarch64 | +| *BSD | posix | x86_64, aarch64 | +| WASI | posix | ❌ | + +* io_uring AIO backend is very light wrapper, where all the code does is mostly error mapping +* iocp also maps quite well to the io_uring style API +* posix backend is for compatibility, it may not be very effecient +* WASI may eventually get coro support [Stack Switching Proposal](https://github.com/WebAssembly/stack-switching/blob/main/proposals/continuations/Explainer.md)