Loading…
CppCon 2014 has ended
Back To Schedule
Tuesday, September 9 • 2:00pm - 3:00pm
Implementing wire protocols with Boost Fusion

Log in to save this to your schedule, view media, leave feedback and see who's attending!

There are a number of common serialization formats available which work well for marshaling C++ types into messaging protocols, e.g. ProtoBufs, Thrift, JSON, XML, FIX, etc. Unfortunately, not every protocol uses one of these popular encodings and instead implements a unique binary protocol. The classical "C" way of handling binary protocols is to use packed structs, unfortunately there are many binary protocols which are not particularly friendly to using this approach due to things like nested variable length data structures, etc.. The packed struct approach is also fairly limited in that it only generally supports primitive POD types.

This talk will explore an approach that uses Boost's Fusion library to implement an easily extensible serialization mechanism for on a non-trivial binary financial exchange protocol which exposes the underlying data in terms of "modern" C++ types. The talk will also cover aspects of general use of Boost Fusion and Boost MPL, type traits, enable_if, SFINAE, and other members of the C++ type system bestiary.

Speakers
TR

Thomas Rodgers

Sr Software Engineer - Platform Languages Runtime, RedHat, Inc
Thomas has been programming in C++ since 1989 and a member of the C++ Standards Committee since 2013. Thomas has worked in the financial industry since 1996 and currently works for DRW Trading Group in Chicago.


Tuesday September 9, 2014 2:00pm - 3:00pm PDT
Euler

Attendees (0)