Dietmar Kühl

  • Software Developer/Bloomberg

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.

Sessions

  • Senders For Existing Asynchronous Interfaces

    Intermediate
    Advanced
    Concurrency

    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 […]

  • Getting the Lazy Task Done

    Intermediate
    Coroutines

    The C++26 specification includes the sender/receiver framework for dealing with asynchronous operations. It defines a vocabulary, as well as various algorithms and utilities using this vocabulary. The current specification doesn't include a matching coroutine task class template, though it is expected that most users would use coroutines to actually use the facilities. This presentation discusses various aspects for creating a coroutine task suitable for many needs, including: - The basic operation of a sender/receiver aware task - Scheduler affinity and why it is important - Allocator support for the coroutine frame - Providing an environment to child operations - Propagating […]