[zeromq-dev] ZRE spec versus Zyre implementation on protocol header and message type

Ken Nelson ken.nelson at us.ibm.com
Tue Dec 17 23:10:47 CET 2013

While reviewing Zyre, the open source implementation of ZRE, and the ZRE specification, I found something puzzling.

Using the latest Zyre source -  https://github.com/zeromq/zyre and download the latest source ("Download ZIP" button on right) - view the file src/zre_msg.c and look at the function zre_msg_recv(). This is the function that receives and parses the ZRE protocol frames.  The order of reading fields from the header is: 1) signature - line 246,  2) id - line 258, and 3) sequence on the first line of all the valid case alternatives.  Note that "id" is what I would call the ZRE message type, e.g. Hello, Whisper, Shout, et al, although the ZRE spec is silent about what this number represents.

In contrast, review the ZRE spec page http://rfc.zeromq.org/spec:20 and look at the order of fields there.  It specifies: 1) signature, 2) sequence, and 3) id.

A search of the Open and Closed issues on the GitHub page revealed nothing relevant, and neither did a search of the ZeroMQ discussion archives. 

Am I interpreting something wrong?  If so, what did I miss?  If not, which one is correct?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20131217/eec11940/attachment.htm>

More information about the zeromq-dev mailing list