[zeromq-dev] Do PUSH sockets have a queue?
Martin Sustrik
sustrik at 250bpm.com
Sat May 28 09:16:17 CEST 2011
Hi Henry,
> Why do PUSH sockets block until a PULL socket has connected?
>
> Shouldn't the PUSH block only when its HWM is reached?
>
> From my experiments it seems like the only queues in a PUSH/PULL
> scenario are on the PULL sockets. Is this correct?
No. But the queues are created on *per-peer* basis. Ie. if there are two
PULLs connected to a PUSH, there are two queues in PUSH. If there's no
PULL connected to PUSH, there's no queue in PUSH. If there's no queue
there's nowhere to store messages in.
Recently we've discussed possible change that would create a queue as
soon as socket is created and assign it to the first new connection
being made.
Martin
More information about the zeromq-dev
mailing list