~/talk

How to Use the Sender/Receiver Framework in C++ to Create a Simple HTTP Server

Talkat CppCon 2024 · on Sunday, 2024-09-15· [web-performance]
links:none on file
slides:none on file

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

  1. 0:00Introduction
  2. 1:11Objective and design
  3. 2:34Beman project goals
  4. 4:23Setting up the development environment
  5. 6:10Initial server skeleton
  6. 7:15Async connection acceptance
  7. 11:12Coroutines for async ops
  8. 13:19Task type explained
  9. 15:08Scope for work
  10. 16:34Event loop and connections
  11. 18:19Receiving client data
  12. 20:27Processing requests
  13. 25:55Breaking work into coroutines
  14. 37:13Composing work with timeouts
  15. 41:10Timeout with sender algorithms
  16. 44:28Error handling in coroutines
  17. 47:41Expected types for errors
  18. 49:51Summary
  19. 50:13Q&A: Scope and coroutines
  20. 53:02Q&A: Coroutines and allocators
  21. 55:11Q&A: Error handling
  22. 57:21Q&A: Beman project
  23. 59:06Q&A: Project tasks
  24. 1:01:15Q&A: Participation
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.