~/talk

Applying Unix Readiness Model for Concurrent Operations in C++

Talkat ACCU 2023 · 2023-04-19..04-22· [c-and-cpp, networking]
links:none on file
slides:none on file

Claims that the Unix readiness model (select/poll/epoll/kqueue) generalizes to arbitrary concurrent C++ operations and can be implemented in userspace. Uses non-blocking sockets, Unix domain sockets and signalfd, an epoll-based readiness set, intrusive link lists and a C++ Select class to compose futures/awaitables as readiness producers. Builds a happy‑eyeballs style connector and an in‑memory pipe/channel with cancellation via an output FD; demos connect to microsoft.com and the approach works, eliminating busy‑waiting and enabling clean cancellation.

AI-written summary · about

  1. 0:00Introduction
  2. 3:14Unix readiness model
  3. 15:59Web browser connections example
  4. 23:04Demo: select connection
  5. 27:40Cancellation in connections
  6. 30:52Pure C++ implementation
  7. 34:45Pipes in C++ model
  8. 39:48Non-blocking pipe in C++
  9. 43:41Select object design
  10. 57:10Eliminating busy waiting
  11. 59:39Buffers and real-world use
  12. 1:00:00Senders and receivers
  13. 1:04:56Key takeaways
~/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.