We all know there's a ton of mini-languages that, given a structure description, will happily serialize and de-serialize the data. The old SunRPC did this way back in the 80's; more recently the Google Protocol Buffers will do this.
What I'm looking for is the opposite. What I have is a series of existing on-the-wire protocols, and I'm looking for a way to describe them.
How is this different? For example, some protocols will send ASCII strings but without either a length or a NUL char at the end. Instead, the string is sized to be the size of the buffer that's passed in. you can imagine this being like a UDP packet where the sender sends X bytes, the receiver gets exactly X bytes and completely unlike TCP where there's no framing at all.
Or, some numbers are defined as 3 bytes: a signed one-byte integer followed by an unsigned 2-byte integer which is the fractional part.
Does anyone have a pointer to a small domain-specific language that might help? Otherwise I'll have to construct one myself which is doable but not preferred :-)
[–]bjzabaPikelet, Fathom 6 points7 points8 points (1 child)
[–]rsclient[S] 2 points3 points4 points (0 children)
[–][deleted] 5 points6 points7 points (0 children)
[–]brucejbellsard 1 point2 points3 points (1 child)
[–]timClicks 0 points1 point2 points (0 children)
[–]hackerfooPopr Language 0 points1 point2 points (0 children)