How to Use the Sender/Receiver Framework in C++ to Create a Simple HTTP Server
summary
Live-codes a minimal single‑threaded HTTP server that actually runs: uses the sender/receiver model (C++26 execution) plus matching networking senders from the bman project, composes work inside a coroutine task and manages outstanding work with an async scope. Demonstrates async accept/receive/send, composes a two‑second timeout via resume_after, shows cancellation and error-to-expected conversion, serves a page (logo issue noted) and keeps allocations optional so embedded/no‑alloc paths remain possible.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:11Objective and design
- 2:34Beman project goals
- 4:23Setting up the development environment
- 6:10Initial server skeleton
- 7:15Async connection acceptance
- 11:12Coroutines for async ops
- 13:19Task type explained
- 15:08Scope for work
- 16:34Event loop and connections
- 18:19Receiving client data
- 20:27Processing requests
- 25:55Breaking work into coroutines
- 37:13Composing work with timeouts
- 41:10Timeout with sender algorithms
- 44:28Error handling in coroutines
- 47:41Expected types for errors
- 49:51Summary
- 50:13Q&A: Scope and coroutines
- 53:02Q&A: Coroutines and allocators
- 55:11Q&A: Error handling
- 57:21Q&A: Beman project
- 59:06Q&A: Project tasks
- 1:01:15Q&A: Participation
related talks
28mImproving Performance using React Server Components!
01h 02mBack to Basics: Concurrency
39mServer/Client unified execution model
27mAnd Now You Understand React Server Components
50mSurchargés Live - Episode 03 - Accelerometer and Streams API
46mGetting started with ReactPHP Pushing real-time data to the browser
14mInterview with
49mHTTP/3 and Reactive Streaming
