[zeromq-dev] RFC: PPPP - Paranoid Pirate Publishing Protocol
Pieter Hintjens
ph at imatix.com
Tue Jul 1 18:23:41 CEST 2014
On Tue, Jul 1, 2014 at 4:46 PM, Goswin von Brederlow <goswin-v-b at web.de> wrote:
> 1) with ROUTER/DEALER I don't get a message when a subscriber
> disconnects without unsubscribing.
>
> Eventualy the heartbeat will get it but that can take a long time and
> a lot of messages can queue up inbetween for no good reason.
There is no other way, in practice. Even if libzmq reports the TCP
disconnect, there are cases where the network connection will block
and die without reporting an error. You must eventually use
heartbeats. You can tune these to a few seconds.
> So I tried using a monitor socket. But that only gives me the FD and
> address of the receiving socket:
No use IMO.
> 2) with XPUB/XSUB the CURVE metadata seems to get lost
>
> zmq_msg_gets() always returns Null it seems. I think the problem is
> that zmq::xpub_t::xread_activated just appends the message data to its
> internal std::deque. A ROUTER socket on the other hand attaches the
> pipe to its fair queue.
>
> Should this be rewritten to use a fair queue too?
That would make sense, yes.
-Pieter
More information about the zeromq-dev
mailing list