Affects Version/s: 3.0.0, 3.1.0
Fix Version/s: None
I am using pub/sub pattern.
In my application, on the publisher side, I have a publisher socket
using TCP transport and another publisher socket using PGM transport.
I am able to manually trigger the PGM publisher to publish 1 multipart
There are messages published at regular interval in the TCP publisher
(every 9 seconds).
I start the subscriber process which is doing nothing else then waiting
for ZMQ messages.
To do so, it has a thread listening for ZMQ sockets using the zmq::poll
call. IT has 2 sockets (one sub for TCP and another one for PGM)
The subscriber process receives without any problem the TCP messages.
Nevertheless, the first message sent by the PGM publisher is lost
because the zmq::poll() call does not return for this first PGM message!
I had a look at network packets using wireshark on the subscriber side.
I see the ODATA packet sent by the first PGM message from the
The problem is the same if I use epgm instead of pgm.
The same code works fine if all messages are transported using TCP.
The problem disappears if I use simple message instead of multipart message