On 06/29/2014 01:47 PM, Chris Laws wrote: > Hi list, > > I've just spent some time trailing the interoperability of the C, Go and > Python ZRE implementations. I encountered some issues with the Python > version - which I later determined are due to it being a v1 > implementation. I did not initially realize that there were 20/ZRE and > 36/ZRE versions. > > When running C, Go and Python chat examples, my Pyre node would crash > upon receipt of 17 byte length identities (a v2 feature). Apart from > checking the sender identity length in the HELLO is there any way to > detect that a peer is v1 or v2?
I'm still working on the v2 implementation. I've got a major change planned but it's still in my local repo. I haven't been doing any mixing of Python and C nodes recently. But I could really use the feedback from that. Once I have the v2 Pyre version ready I'll be doing test with Zyre again. > > The czmq and Go based ZRE libs define a version (e.g. zyre's > ZRE_MSG_VERSION in zre_msg.h) but do not seem to use it anywhere. > > The ZRE beacons have a version, v1, but this does not actually inform > the receiver of the peers TCP version which may be v2. ZRE seems to be a > combination of the UDP and TCP protocols so should this in fact report > v2 for ZRE implementations using v2 of the protocol (36/ZRE)? > > Establishing a simple interoperability test (such as the simple chat > example) would be a great way to ensure each implementation's protocol > compliance and serve as a useful tool for testing and refining the > protocol specification. Yes that would be really helpful. Any suggestions? Rg, Arnaud -- w: http://www.sphaero.org t: http://twitter.com/sphaero g: http://github.com/sphaero i: freenode: sphaero_z25 _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
