Guide to Implementing Communication Protocols in C
  • Introduction
  • Code Generation vs C++ Library
  • Main Challenges
  • Goal
  • Audience
  • Code Examples
  • Final Outcome
  • Contribution
  • Message
    • Reading and Writing
    • Dispatching and Handling
    • Extending Interface
  • Fields
    • Automating Basic Operations
    • Working With Fields
    • Common Field Types
  • Generic Library
    • Generalising Message Interface
    • Generalising Message Implementation
    • Generalising Fields Implementation
  • Transport
    • PAYLOAD Layer
    • ID Layer
    • SIZE Layer
    • SYNC Layer
    • CHECKSUM Layer
    • Defining Protocol Stack
  • Achievements
  • Appendices
    • Appendix A - tupleForEach
    • Appendix B - tupleAccumulate
    • Appendix C - tupleForEachFromUntil
    • Appendix D - tupleForEachType
    • Appendix E - AlignedUnion
Powered by GitBook
On this page

Was this helpful?

Final Outcome

PreviousCode ExamplesNextContribution

Last updated 5 years ago

Was this helpful?

The ideas summarised in this book are not just theoretical ones. There is ready to use implementation called . It provides all the necessary types and classes to make the definition of the custom messages as well as wrapping transport data fields to be simple declarative statements of type and class definitions, which specify WHAT needs to be implemented. The library internals handle the HOW part.

NOTE, that the ideas expressed in this book are very basic ones, the mentioned is much more advanced than the examples provided in this book. It is recommended to read the library's tutorial and, as an excersice, to think about ways how the provided examples can be extended to support the described features.

The is a part of a bigger project called . It contains generic plug-in based tools for visualisation and analysis of the communication protocols, which have been implemented using the provided library.

There is also a bundling . It lists all the open protocols that have been implemented using the .

COMMS Library
COMMS Library
COMMS Library
CommsChampion
project
COMMS Library