[zeromq-dev] Another epgm question
taurel at esrf.fr
Wed Apr 14 10:41:23 CEST 2010
I am using zmq 2.0.6 on Ubuntu 9.04 boxes.
I am using PUB/SUB with the epgm protocol. I have one publisher on host
A and 5 subscribers on host B.
The ZMQ_RATE is set to 100000 on both publishers and subscribers. I do
not filter anything on the subscribers side. On the publisher side, I have
a ZMQ_HWM set to 100 and ZMQ_LWM set to 50.
I am sending 4 kbytes messages. The first byte within each message is a
counter which allows me to check that I haven't lost any message.
From the e-mail we exchanged yesterday, I have understood that in order
to have some bandwidth available for RDATA pgm packet, I have to add a small
"sleep" in my loop sending data to the ZMQ socket.
My problem is that even with this sleep, I am still loosing messages!
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.
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
For both cases, I have saved the wireshark data in a file in case it
could be of any interest.
Is there someone aware of this kind of problems?
More information about the zeromq-dev