######### Resources ######### 🟩 Good for Starters 🟨 Getting into Details 🟥 Technical Background Documentation ============= Boost ASIO Documentation ------------------------ - 🟩 `C++20 Examples `_ - 🟥 `P2444r0 - The Asio asynchronous model (PDF) `_ - 🟥 `Requirements on asynchronous operations `_ Blogs ----- - 🟩 `Andrzej Krzemieński - Event-driven flows `_ - 🟩 `Notes on structured concurrency, or: Go statement considered harmful `_ - 🟨 `Moving Boost forward: Asio, coroutines, and maybe even modules `_ - 🟨 `Asio 201 - timeouts, cancellation & custom tokens `_ - 🟩 `C++ Core Guidelines: CP.coro: Coroutines `_ Repositories ------------ - 🟩 `pgit/asio-coro `_ - 🟨 `anarthal/servertech-chat `_ Playlist ======== Using Asio with C++20 Coroutines -------------------------------- - 🟩 `Asynchrony with ASIO and coroutines - Andrzej Krzemieński - code::dive 2022 `_ - 🟩 `Cancellations in Asio: a tale of coroutines and timeouts - Rubén Pérez Hidalgo (2025-06) `_ - 🟨 `C++20 Coroutines, with Boost ASIO in production: Frightening but awesome `_ Chris Kohlhoff -------------- - 🟩 `Talking Async Ep1: Why C++20 is the Awesomest Language for Network Programming `_ - 🟨 `Talking Async Ep2: Cancellation in depth `_ (`Cancellation Race Condition `_) Structured Concurrency ---------------------- - 🟨 `Writing Safer Concurrent Code with Coroutines... - Lewis Baker - CppCon 2019 `_ - 🟨 `Structured Concurrency - Sebastiaan Koppe - DConf '22 `_