[zeromq-dev] Proposal for new features in ZMQ.

Pieter Hintjens ph at imatix.com
Sun May 15 06:35:55 CEST 2011


On Sun, May 15, 2011 at 1:25 AM, Fabien Ninoles
<fabien.ninoles at ubisoft.com> wrote:

> Here the feature set:
> Feature 1 - Add a new msg LABEL flag marking a frame as "labeled".

Part of redesigning the whole message envelope concept, I think. A good idea.

> Feature 2 - Embedded flags inside the msg_t structure.

Definitely a good idea, it's hard to justify MORE being a socket
property. In czmq I experimented with this being a message property,
it works fine.

> Feature 3 - Add a timeout sockopt.

Nice idea.

> Feature 4 - Add a ready sockopt.

It'd be impossible IMO to cleanly implement the ready signalling we
currently do in the LRU pattern because it's tied into application
processing of data. You could do some tighter coordination between the
queues at both sides, with low HWM, and this gives you some kind of
'ready'. But it won't be on a message-per-message basis afaics.

> Feature 5 - The COLLECTOR socket.

Assumes READY can work...

> Most of the current existing pattern would be greatly simplified using
> them, avoiding weird usage like DEALER socket as worker end point in
> LRU, and probably unseen and interesting new patterns could probably
> build using them.

Note that DEALER allows asynchronous worker 'end points', necessary if
your 'end point' actually deals work out to single threaded worker
threads. In synchronous workers, we don't use DEALER sockets.

-Pieter



More information about the zeromq-dev mailing list