At the pipe.cpp the variables, msgs_written and peers_msgs_read, which are used at the HWM full calculation are updated only at the last frame.
My guess is that the peers_msg_reads can be late updated because it is updated asynchronously. For example, the dealer got chunks and sent subsequent requests, but the router get the new requests before it get 'activate_write'. The outgoing pipe can grow to twice of PIPELINE at maximum in an extreme case. Thanks Min On Mon, Nov 19, 2012 at 10:23 AM, Pieter Hintjens <[email protected]> wrote: > I've updated the doc to make this clear, and will change the examples > in the Guide accordingly. > > Thanks for spotting this problem! > > > https://github.com/hintjens/libzmq/commit/7533ebb33d1cc6f23061e0228bf7eb22713aaa17 > > -Pieter > > On Mon, Nov 19, 2012 at 10:01 AM, Pieter Hintjens <[email protected]> wrote: > > Stathis, > > > > I've tested this in detail. > > > > Tthere seems to be a problem with the HWM in the ROUTER, which is > > dropping outgoing messages unexpectedly. That is, the HWM setting of > > 10 isn't actually enough for 10 outgoing messages. > > > > What it looks like is that the HWM is in fact per message frame, not > > per message. So in this case you'd have to use: > > > > zsocket_set_hwm (router, PIPELINE * 2); > > > > In the router since the identity frame is counted in the HWM calculation. > > > > This is a bug IMO, or at least it's rather surprising. > > > > -Pieter > > > > > > > > > > On Mon, Nov 19, 2012 at 3:13 AM, Stathis Gkotsis > > <[email protected]> wrote: > >> Indeed, sorry about this, here are the two links to the code: > >> > >> http://pastebin.com/1DLa4e2J > >> http://pastebin.com/cbJUxJB4 > >> > >> Thanks, > >> Stathis > >> ________________________________________ > >> From: [email protected] [ > [email protected]] On Behalf Of Min [[email protected]] > >> Sent: Sunday, November 18, 2012 7:36 PM > >> To: ZeroMQ development list > >> Subject: Re: [zeromq-dev] Problem with fileserver / fileclient > >> > >> The two links seem to be identical. > >> > >> Could you upload the client code also ? > >> > >> Thanks > >> Min > >> > >> > >> On Mon, Nov 19, 2012 at 1:22 AM, Stathis Gkotsis < > [email protected]<mailto:[email protected]>> > wrote: > >> Hello, > >> > >> I am using zeromq v3.2.1-RC2 on Ubuntu 10.04 / Ubuntu 12.04 64bit. I > created two simple apps: one fileserver and one fileclient, based on the > "File Transfer" example code in the documentation ( > http://zguide.zeromq.org/page:all#header-151 , model 3). The code for > these two example apps can be found here: http://pastebin.com/AuGU9EDCand > here: > http://pastebin.com/LusbjGCa . As you can see, I use a file of 100KB. > >> > >> The problem is that when I start the server and then run the client > multiple times, sometimes it receives less than 102400 bytes, like: 98304 > or 94208 or 90112 bytes. For example, when I run the client 1000 times with > an interval of 100ms between the runs, for 970 runs it receives 12400 > bytes, while for the rest (30 runs) it receives less bytes. I am bit > puzzled by this, could you help? > >> > >> Thanks, > >> Stathis > >> _______________________________________________ > >> zeromq-dev mailing list > >> [email protected]<mailto:[email protected]> > >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >> > >> _______________________________________________ > >> zeromq-dev mailing list > >> [email protected] > >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
