Всем привет!
Нашел на reddit/cpp о ссылку на статью
Type Driven Wire Protocols with Boost Fusion, мне она показалась интересной.
Как и следует из названия, автор использует Boost.Fusion для compile-time reflection чтобы парсить данные бинарного протокола в структуры. Поддерживаются примитивные типы, строки, массивы, поля переменной длины, необязательные поля, вложенные структуры, т.е. всё, что используется в типичных бинарных протоколах. В начале статьи объясняется почему не используется готовое решение типа Protobufs или Thrift
Насколько я понял, здесь лежит код к статье:
https://github.com/rodgert/fusion_samples