Async IO with epoll, io_uring, and C++ coroutines

Introduction Project setup Errors File descriptors and sockets HTTP client interface and buffers Blocking HTTP client Epoll HTTP client io_uring io_uring HTTP client io_uring with "manual" state machine Coroutines Coroutine API An async coroutine type (Z) Coroutine handle awaiter io_uring event loop with coroutines HTTP client with io_uring and coroutines Combining coroutines Introduction Why does…