[zeromq-dev] XREP/ROUTER no longer receive messages atomically in 3.0/4.0

Pieter Hintjens ph at imatix.com
Sun Sep 4 12:53:30 CEST 2011


On Sat, Sep 3, 2011 at 8:48 PM, MinRK <benjaminrk at gmail.com> wrote:

> Is the general usage of send/recv flags documented more thorougly anywhere?
>  For instance, with the XREP behavior I would expect RCVLABEL *and* RCVMORE
> to be set for the routing-prefix part of the message (I understood RCVMORE
> to be the thread linking a single message), but this was incorrect.

Yes, this is also what I expected and IMO it's worth arguing this out
with Martin. Treating labels as a special case makes code more complex
without any benefit, which is a bad thing IMO.

> It's
> also not clear what the SND/RCVCMD flag is to be used for, aside from
> something to do with ROUTER sockets.

This is the 4.0 ROUTER design? Since the design is not documented
upfront (Martin, you really do like to communicate in code, don't you
:-) I've no idea what this does.

> The simplest case seems to be that XREP sockets have a prefix of
> LABEL-flagged message parts, followed by some MORE-flagged parts, and a
> terminal part.  However, testing reveals that I can set arbitrary
> combinations of MORE/LABEL on each message part.  Does it make any sense to
> set SNDLABEL in the middle of a message?

Nope. This should not be allowed IMO.

-Pieter



More information about the zeromq-dev mailing list