Senders For Existing Asynchronous Interfaces
Dietmar Kühl
C++26 specifies an interface for asynchronous operations. Previous presentations have shown how to utilize such interfaces to compose work based on concurrent computations and use native sender interfaces to deal with networking. Since there were asynchronous interfaces that predated the C++ interface, it is desirable to integrate these into the new ecosystem. This presentation shows how to take an existing asynchronous interface and add a sender interface for full integration with std::execution.
My concrete plan is to combine a networking interface for HTTP requests with a PostgreSQL database to respond to these requests. The whole system is meant to use one thread to service multiple clients concurrently, making non-blocking requests to the database to keep the overall system responsive. This approach will show how to expose the existing interface using senders to compose the overall application.
Dietmar Kühl
Dietmar Kühl is a senior software developer at Bloomberg, where he works on the data distribution environment used both internally and by enterprise installations at clients. Before joining Bloomberg, he did consulting for software projects mainly in the finance sector. He is a regular attendee of the ANSI/ISO C++ standards committee (WG21) and presents at conferences. He used to be a moderator of the newsgroup comp.lang.c++.moderated and frequently answers questions on Stack Overflow.