[zeromq-dev] HWM ignored on inproc connection

Douglas Creager dcreager at dcreager.net
Tue Jan 4 15:34:51 CET 2011


>> I like the symmetric design — that way nothing is ignored, like
>> Pieter suggests.  And it also matches the TCP case better.  In the
>> TCP case, there's a buffer of SNDHWM messages on one side, and a
>> buffer of RCVHWM messages on the other.  So in the inproc case, there
>> should be a single buffer of SNDHWM+RCVHWM messages.
> 
> Ok. That would require passing each peer's HWM to the other peer. So 
> that both can compute and use sum HWM instead of the original local HWM.
> 
> In short:
> 
> 1. There's ctx_t::register_endpoint function which register inproc 
> endpoint with the context. We can store bind()er's HWM there.
> 
> 2. When connect()er retrieves the ednpoint, it would get bind()er's HWM 
> along with it, it will add the two HWMs and initialise the newly created 
> pipe accordingly.

Oh, I though this would just be for inproc connections.  As in, the total size of all buffers should be SNDHWM + RCVHWM.  For TCP, there are buffers on either side of the network connection, and so you get this by having one side create a SNDHWM buffer, and the other create a RCVHWM buffer.  It's only in the inproc connection — where there's only a single buffer — where you'd have to add together the values to get the correct buffer size.

–doug


-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 203 bytes
Desc: This is a digitally signed message part
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110104/d71cd859/attachment.sig>


More information about the zeromq-dev mailing list