[zeromq-dev] Caution: Wire format changed!

Martin Lucina mato at kotelna.sk
Tue Mar 9 15:22:48 CET 2010

sustrik at 250bpm.com said:
> I've just committed a patch that adds extensibility mechanism to 0MQ 
> wire format ('flags' byte).
> It means that old 0MQ applications won't be able to speak to new 0MQ 
> applications unless you recompile them.

To elaborate on Martin's english compression somewhat, and give some
rationale for this change:

The current 0MQ wire formats have had no extensibility mechanism. This
change adds an 8 bit "Flags" field to each message to provide for future
extensibility. The upcoming 0MQ 2.0.6 release will define this field as
"Reserved, set to zero".

The immediate motivation for this change is the current discussion on
multi-part messages, so post 0MQ 2.0.6 you can expect a "Continue" bit to
be defined in the "Flags" field.

Adding extension points is important for future proofing the wire protocol
so that 0MQ versions many years ahead can still speak to 0MQ versions of
today.  To quote Martin Sustrik:

13:57 < sustrik> now i've added a whole byte
13:58 < sustrik> that's enugh for any future extensions
13:58 < sustrik> as you can switch them on using a single bit
13:59 < sustrik> actually, i've been able to avoid any extensions since 2007 so i hope 
                 i'll do without another one at least till 2014 :)


More information about the zeromq-dev mailing list