Session Details

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)


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.

The Speakers


Sumant Tambe

Sumant is a Principal Research Engineer at Real-Time Innovations (RTI) and a Microsoft VC++ MVP. His focus at RTI is standards-based data distribution middleware for real-time systems. He has been programming in C++ for over a decade. He likes C++ because it supports multiple paradigms. He is responsible for RefleX, Rx4DDS, C++ Truths, and More C++ Idioms. Lately, he is dabbling into Reactive Stream Processing.
  • Not Interested
  • Interested
  • Attending