[zeromq-dev] ROUTER and Credit-Based Flow Control

Gabriel Sanchez gave2000 at gmail.com
Thu Aug 21 20:17:57 CEST 2014


I am trying to implement credit-based flow control from Chapter 7 of the
guide using ROUTER-DEALER. However, I am dropping messages on the ROUTER
side when reaching the SNDHWM. If I set the maximum amount of credits to a
fraction of the SNDHWM I don't drop any messages. I checked the code in
pipe.cpp and saw that the reader side of the pipe only notifies the writer
when it has read a multiple of the LWM.

Does this mean that if the number of messages written by the ROUTER to a
peer pipe approaches the SNDHWM and in the meantime I get more credits
before the reader reaches the LWM I may drop messages? If so, are there any
workarounds? I was thinking of setting the maximum credit value to SNDHWM -
LWM to ensure that the number of messages written doesn't go above the

I am using libzmq 3.2.3 and I noticed that in newer versions there's a
patch for notifying the application when sending a message to a ROUTER

Thanks in advance

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140821/3135b4fa/attachment.html>

More information about the zeromq-dev mailing list