It uses:
- a single event loop (io_context) - coroutine-based async tasks - a TCP listener + accept loop - one coroutine per connection - direct socket control - no external runtime - no framework layer
The example listens on 0.0.0.0:8080, reads until \r\n\r\n, sends a 200 OK response, and shuts down cleanly on SIGINT/SIGTERM.
It compiles to a single native binary and relies only on the async module of Vix.
The goal isn’t to compete with production frameworks. It’s to show how far modern C++20 coroutines can go with a minimal async core.
Code and explanation: https://vixcpp.com/docs/modules/async/example.html
Happy to answer technical questions.