Hi,

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
SNDHWM.

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
fails.

Thanks in advance

Gabriel
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to