[zeromq-dev] Is a possible to purge the transmit buffer?

Pieter Hintjens ph at imatix.com
Sun May 22 20:40:41 CEST 2011


On Sun, May 22, 2011 at 8:35 PM, Helge Früh <helge.frueh at googlemail.com> wrote:

> Maybe I can rephrase my question. If you have three subscribers A, B and C, where A is online and B and C are offline.
> You further have a HWD of 100 on the publisher. Than you publish (send) 100 messages.
> In my understanding the following happens:
> - A: receives every message because he's online
> - B: messages 1-50 get buffered (and delivered when B comes online), messages 51-100 are dropped
> - C: messages 1-50 get buffered (and delivered when C comes online),  messages 51-100 are dropped
> Is this correct so far?

No, the sender HWM applies to each queue independently. Further, if a
peer is offline nothing is queued for it, unless it's using durable
sockets, which is a disrecommended pattern since it'll rapidly kill
publishers.

Assuming you're using durable sockets, you'd queue 100 for B and 100 for C.

The queues are independent. If along comes D, it gets its own queue.

Hope this helps. There is no emergency mode, you've misunderstood how
sender-side HWM works, which is kind of normal because it's badly
documented.

-Pieter



More information about the zeromq-dev mailing list