[zeromq-dev] Behavior of Labels, Identities, and Socket Types in 3.0

Martin Sustrik sustrik at 250bpm.com
Fri Oct 28 09:10:30 CEST 2011


On 10/27/2011 11:02 PM, Pieter Hintjens wrote:

>> Another option: I'm willing to put in an hour or so a few times a week
>> to fork the guide and bring it up to the 3.0 protocol.  I guessing
>> this wouldn't take more than a couple weeks of time.  This will help
>> bring me up to speed as well.  It would mean some work for the experts
>> though, fielding my questions and reviewing my changes.
>
> That'd be great, but the main pain point will be the translated examples.
>
> The Guide actually switches to CZMQ quite early on, exactly to avoid
> dependency on 2.x.
>
> And when we move to 4.x, most of the advanced patterns will be broken
> and need rewriting.

Yes. The migration of the guide is the most important problem here. 
After all, changing the libzmq implementation is easy, changing the 
guide is a lot of work.

So, my proposal is to revert to 2.1-like behaviour.

What it means is that the only thing that the guide would have to adapt 
to when moving to 3.0 is the API change. The 2.1-to-3.0 API change is 
mostly transparent to all the languages except for C and C++. Which in 
turn means only C and C++ examples in the guide would have to be updated.

If there was a semantic change in message structure (as is the case 
today) all the examples would have to change to reflect it.

Even worse, they would have to be updates once again for the next 
version (4.0) which would make the usage of labels consistent.

Summary: By reverting to 2.1 like semantics we can make the transition 
of the guide to 3.0 much less complex and avoid the duplicate work when 
moving to labels in next major version.

Thoughts?
Martin



More information about the zeromq-dev mailing list