Silicon Valley Code Camp : October 5th and 6th 2013session
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
About This Session
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.