I have a custom protocol that I use for inter-process communication. There are approx. 400-500 messages all with custom payloads. The messages all have a unique message id (word), but that's it. A c struct defines each message.
Almost all messages have custom enums for one or more fields in the struct.
I get message logs that have thousands of these messages and I want to write a decoder that will run relatively fast and not be a complete pain to maintain.
I looked at writing a custom app and storing the decode structure in an ms access db or something. This was very slow and was limited by number of simultaneous decodes. I also looked at xml, but again doing a translation was slow in my small test.
I would love to use something like a wireshark disector, but these aren't network packets... Just a big byte array.
Any thoughts/recommendations would be very appreciated.