🔊 CEOInterviews
Start App
Try: AI strategy tariffs earnings guidance layoffs interest rates growth

Thomas Rodgers

Executive VP and Chief Strategy & Business Development Officer, Mckesson

Search every verified Thomas Rodgers interview, podcast appearance, and on-the-record quote — each transcript cross-checked by AI and human review to confirm speaker identity. Thomas Rodgers, Executive Vice President and Chief Strategy & Business Development Officer at McKesson, previously worked at DRW Trading, where he developed techniques for implementing wire protocol handlers in C++. In a 2014 CppCon presentation, Rodgers described challenges with binary protocols used by financial exchanges and third-party systems, noting that standard serialization formats like Protocol Buffers or Thrift are not always suitable when one does not control both ends of communication. He advocated for using Boost.Fusion to enable memberwise iteration and type dispatch on C++ structs, allowing generic reading and writing of binary data without the error-prone manual member-by-member conversion required by traditional packed-struct overlays. Rodgers stated that his team used these techniques in exchange market-data feed handlers, achieving processing times in the low hundreds of nanoseconds per tick. He also discussed the need for custom handling of signed integral types over the wire and described how some exchanges define prices using a signed exponent and 32-bit unsigned mantissa to avoid rounding errors. Rodgers referenced the C++ study group SG7, which was exploring compile-time reflection as a potential long-term solution for such protocol-handling challenges.

Selected quotes

Recent appearances

  • CppCon 2014: Thomas Rodgers "Implementing Wire Protocols with Boost Fusion"

    http://www.cppcon.org -- Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2014 -- 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 friend…

    Watch on YouTube ↗