[zeromq-dev] identity bug

Serge Aleynikov serge at aleynikov.org
Tue May 25 16:08:40 CEST 2010


On 5/25/2010 1:56 AM, Martin Sustrik wrote:
>> How about this example - a REQ caller sends a message and issues a
>> blocking recv() call.  The REP server dies between receiving a message
>> and sending a reply.  The REP server comes back and client's 0MQ
>> transport successfully reconnects.  However, the client will be blocked
>> in the recv() call forever because the last transaction got lost.
>
> As I said, it's not yet perfect.
>
> The plan for REQ/REP is to have XREQ/XREP as an asynchronous
> infrastructure for requests and replies.
>
> REQ/REP would then be wrappers on top of XREQ/XREP adding synchronicity.
> In addition, REQ would wait a specific timeout and if reply doesn't
> arrive it'll re-emit the request. Also, it would have to drop duplicate
> replies.

Since there are very limited details on what XREQ/XREP are supposed to 
achieve, could you tell if in the example above when using XREQ/XREP 
there would be any resource leaks (due to pending transaction) or any 
other types of blocking?  Does XREQ preserve ordering semantics (i.e. if 
requests are sent in order 1 and 2, is it possible to receive and 
process replies in order 2 and 1 without blocking if reply to request 1 
is lost forever)?

Serge



More information about the zeromq-dev mailing list