[zeromq-dev] Moving to 0MQ/3.0, yes or no?

Martin Sustrik sustrik at 250bpm.com
Tue Apr 12 17:47:32 CEST 2011


On 04/12/2011 04:39 PM, Pieter Hintjens wrote:

> You need to document what you mean here. What's currently broken, what
> are the consequences, what are the different options...

Let me give an example. There was a discussion on the IRC this morning.

An user complained that the request stay queued in XREP socket even 
though the requester have already disconnected. Obviously, there's no 
point in holding and -- more importantly -- processing requests if the 
requester is already dead. There's noone to send the reply to anyway.

This seems to be a nice optimisation of request/reply pattern. Following 
this line of thought, we can drop all the pending requests immediately 
when XREQ socket is being closed. It's being closed, so it's not going 
to be able to get the replies anyway.

However, current implementation allows XREP socket to be used for 
explicit message routing. In such a case dropping pending messages on 
zmq_close is undesirable (zmq_send(s,msg); zmq_close(s); --> message 
silently disappers).

The point, I think, is that a single socket type is being used in 
multiple messaging patterns (request/reply vs. e-mail) which creates 
tensions in the semantics.

> You don't tighten semantics that already work and are widely used,
> obviously. Make new ones, independently. If your new semantics are
> really better, people will use them.

Yep. Exactly my point.

Martin



More information about the zeromq-dev mailing list