[zeromq-dev] PUSH/PULL over inproc and nonblocking sends

Peter Bourgon zeromq.peter at bourgon.org
Thu Aug 4 10:37:44 CEST 2011

> I would say there's no change in the behaviour here, it's just a timing
> issue. There's a buffer on the push side (set to 1) and a buffer on the pull
> side (set to infinite).
> If 0MQ is able to pass messages from the push-side buffer to the pull-side
> buffer fast enough, you'll never get EAGAIN (the pull-side buffer is
> infinite).

When I simply change the transport from inproc to tcp, the behavior
changes. Is the default pull side buffer for tcp not infinite?

> If, on the other hand, you are publishing messages faster than 0MQ passes
> them from push buffer to pull buffer, you'll get EAGAINs (the push side
> buffer is limited to 1 message).

I guess the easy solution in my situation is to set every pull buffer HWM to 1.

More information about the zeromq-dev mailing list