On Sun, 06 Nov 2011 18:13:07 +0100 Helmut Eller heller@common-lisp.net wrote:
The new format looks so:
| byte0 | 3 bytes length | | ... payload ... |
The 3 bytes length header specify the length of the payload in bytes. The playload is an s-exp encoded as UTF8 text. byte0 is currently always 0; other values are reserved for future use. Robert Brown said he'd like to use compression, so byte0 might come in handy.
I think that's a nice idea
The change breaks backward compatibility. When upgrading, make sure that both Lisp and Emacs use the new format.
Did the previous protocol also have such a 0x00 byte prefix? If so, it would be possible to use 0x01 this time and provide more backwards compatibility...
If not, I could perhaps suggest that the byte in the future be used to hold a protocol version as well as flags (such as as you mentioned, for gzip-compressed, etc).