Conference | Live Schedule | Talks | Get your ticket | Set your timezone
Introduction to Sender/Receiver framework
Goran Aranđelović
On Day 1 at 16:00 (CET/Berlin) in Track C [Jade Room and online]
Asynchronous programming in C++ is a challenging task. Various async models and corresponding libraries facilitate these tasks, and it seems that it's becoming easier. With C++20 coroutines, we have new possibilities, but standard library support for coroutines is virtually nonexistent. Also, having only C++ coroutines in a toolbox is like having only raw pointers or std::thread, i.e., low-level primitives, which cannot be enough for highly composable and scalable APIs. There are a lot of libraries for async tasks implemented on top of coroutines, but there's still an open question - which one to use?
Aside from coroutines, Senders/Receivers emerged as a promising model for async computations, and std::execution (P2300) is voted in for C++26.
In this talk, we'll go through Sender/Receiver concepts, various examples from stdexec, and NVIDIA's implementation of std::execution proposal, and we'll shed some light on how Sender/Receiver model interacts with C++ coroutines.
Please login to comment