[zeromq-dev] Notify send()er that they've hit the high water mark

Edwin Amsler edwinamsler at thinkboxsoftware.com
Mon Jul 9 22:24:21 CEST 2012


So here I am, publishing messages through ZeroMQ's send() function at 
about 300MB/s, and my network's set to only send at 10MB/s.

This is kind of a big problem because, while I don't care if the clients 
loose data on their end, the server is either using its memory until it 
crashes, or I'm setting its high water mark and loosing about 29 of 
every thirty messages I produce because I don't know that ZeroMQ can't 
keep up.

Ideally, when a HWM condition happened, send() would return false, then 
I'd test EAGAIN so I could decide for myself whether I should drop the 
message, or retry later. With that kind of functionality, I could 
throttle back my producer algorithm so that I exactly meet the demand of 
ZeroMQ instead of overwhelming/starving it out.

I'm willing to do the work if this sort of addition makes sense to the 
rest of the project. I'd rather contribute here instead of forking it 
off in some forgotten repository.

Can/should this be done? Is there someone out there willing to mentor me?

Thanks,

Edwin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20120709/440bc088/attachment.htm>


More information about the zeromq-dev mailing list