[zeromq-dev] Another epgm question

Steven McCoy steven.mccoy at miru.hk
Wed Apr 14 11:24:43 CEST 2010

On 14 April 2010 16:41, Emmanuel TAUREL <taurel at esrf.fr> wrote:

> On Wireshark, I now see the RDATA packets nevertheless, I have
> identified two cases in which I have lost data:
> 1 - While my sender was re-transmitting packets due to NAK sent by  the
> sender, there was another NAK coming from the sender.
> Then,  the sender stops re-sending the lost packets requested by the
> first NAK to re-send the packets requested by the second NAK.
> Therefore, not all the packets requested by the first NAK were re-sent
> and my application has lost messages.

The NAK from the sender would actually be a NCF, a NAK confirmation.  It
should have the same set of sequences as the original NAK.

Incoming NAKs are appended to a queue, there is no method for one NAK packet
to preempt another.  The NAKs will be dropped if the sequence is no longer
available in the transmit window.

The transmit window advances by time not by data, the sender needs to be
configured such that the window is large enough in time to be valid for
receiver NAKs.

> 2 - A more obscure case where during a transmission in which I had NAK
> and RDATA packets, there was simply a hole in the sequences of sent packets
> without any NAK packet sent by the recever about this lost packets

 The absence of data is detected by the next valid packet, either ODATA or
SPM.  After the last ODATA packet you should see a stream of SPMs to
specifically catch this situation.  The intervals roughly double from 100ms
until the heartbeat SPM rate which is in ØMQ is thirty seconds.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20100414/5ee44704/attachment.htm>

More information about the zeromq-dev mailing list