[zeromq-dev] hwm puzzle

Andrew Hume andrew at research.att.com
Sun May 15 14:06:43 CEST 2011

i am trying to do the simplest form of job allocation:

i have a master sending messages out over a PUSH socket.
i have workers who have the PULL end of that socket. they set a hwm of 2 thusly:
	sock = zmq_socket(ctxt, ZMQ_PULL);
	sethwm(sock, 2)
	zmq_connect(sock, addr)

now, everything is done evenly (each worker gets an equal number of jobs).
BUT, the master is NOT blocking as it should.
i believe that if there are n workers, then teh master should block after 2n messages,
and then be able to send jobs as workers consume the messages.
the observed behaviour is that it sends all teh messages at once and never blocks.

surely i am doing something wrong. but i can't see it.
what am i doing wrong?


(as an aside, the zmq_socket man page doesn't really cover the case
where a HWM is set on the PUSH side of teh socket; it certainly has an effect.
martin et al, what is the intended semantics?)

Andrew Hume  (best -> Telework) +1 623-551-2845
andrew at research.att.com  (Work) +1 973-236-2014
AT&T Labs - Research; member of USENIX and LOPSA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110515/ca3d2328/attachment.htm>

More information about the zeromq-dev mailing list