Sumant Tambe

Sumant is a Sr. Software Engineer at LinkedIn and a Microsoft MVP. He helps run Kafka and the related streaming infrastructure at LinkedIn. He contributes in open-source Apache Kafka and writes Kafka Truths and C++ Truths blogs. Previously he worked on reactive stream processing for Industrial IoT system in RTI.


Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS

Level :
Date :
1:45 PM Saturday
Room :
Track :
C++ and C++11
Interested : (-) - Registered : (40)

Speakers: Sumant Tambe

When it comes to sending data across a network, applications send either binary or self-describing data (XML). Both approaches have merits. Data Distribution Service (DDS) combines the best of both in what’s called “data-centric messaging”. DDS shares the type description once, upfront, and later on sends binary data that meets the type description. You typically use IDL or XSD to specify the types and run them through a code generator for type-safe wrapper APIs for your application in your programming language. Simple and fast! As it turns out, however, C++11 bends the rules once again. In this presentation you will learn about a template-based C++11 messaging library that gives the DDS code generator a run for its money. The types and objects in your C++11 application are mapped to standard DDS type descriptions and serialized format, respectively, using template meta-programming. You may never like how SFINAE is pronounced but you won’t stop talking about it after you see “overloading in overdrive” in this talk. What’s more? I will share my newfound hatred for std::vector of bool/enums and built-in multi-dimensional arrays. We will talk about STL, Boost Fusion, variadic templates, enable_if, and scheduling office meetings. (That’s right!) For 90 minutes, you are in for some cool compile-time computation and network programming techniques.

  • Not Interested
  • Interested
  • Attending