Clint Webb wrote:
I agree. Thats one thing I noticed about the protocol when I was
reading my email on the train this morning.
Keeping the original structure would make it difficult to change the
fixed-width parameters given to a command.
Having an offset would mean that the key can be found much easier.
However, care should be taken that the offset given doesnt go out of
the bounds of the message. I'm not in total favour of an offset
either, because in this case, you're basically moving the calculation
from the server to the client.
What I prefer is:
* Magic byte / version
* Cmd byte
* 4 byte opaque id.
* Key len byte (if no key, 0)
* key, if key length above is non-zero.
* 4 byte body length (not including reserved byte at the end)
* [ cmd-specific fixed-width fields ]
* [ cmd-specific variable-width field ]
* Reserved byte (should be 0)
What I additionally prefer, is a total packet length after the magic
byte, but that might meet substantially more debate.
I would also prefer a total length field. This would let me easily
determine if I have the complete packet or not without searching through
the packet and look for the various length fields...
Trond Norbye