Is it InProc or TCP?
The behavior of HWM is to drop or block, not replace. In case of PUSH
socket the send operation should block.
You can use another trick to "replace".
Set the send HWM of the push socket to 100.
Send with DONT_WAIT flag, if the send fail (return EAGAIN), set the linger
of the
Which side (send or recv) has the issue with the growing queue?
If it's the recv side and your "extremely slow" process is only calling
recv rarely then there may be no events to trigger the queue to check the
HWM.
Try calling zmq_getsockopt[3] with ZMQ_EVENT intermittently on the recv
socket to