Naked coroutines live (with networking)
summary
Shows how C++ Coroutines TS plus the Networking TS can be used to build an async TCP server by live-coding two approaches: an easy adapter that uses std/boost::future (drops throughput by ~40–45% versus the original 75 MB/s server) and a hard approach that implements zero-overhead awaitables for async_read_some/async_write (restores native 75 MB/s and beats a future-based reposting microbenchmark by ~10x). Also covers cancellation via handler-destructors, allocator placement to avoid heap churn, and a proposed symmetric transfer to guarantee tail-call resumptions.
AI-written summary · about
chapters (8)
- 0:00Start
- 3:48Asynchronous Tasks
- 6:08Completion Queue
- 12:48Corrosion Promise
- 14:21Final Suspend
- 15:01What To Do with Go Return
- 20:41Boost Future
- 48:48Symmetric Control Transfer
related talks
01h 14mHow to Use C++20 Coroutines for Networking
59mThe Networking TS in Practice: Patterns for Real World Problems
58mThe Networking TS in Practice: Testable, Composable Asynchronous I/O in C++
01h 16mApplied C++20 Coroutines
57mStructured Networking in C++
58mThe Networking TS from Scratch: I/O Objects
01h 01mStructured Networking
01h 21mTutorial: Developing High-performance Networking Applications
