>* sort of like how I got into the habit of putting [IMPLICITNONE] at the start of every FORTRAN module
That bring memories... :-) On Wed, May 15, 2019, 19:07 Brian T. Carcich <[email protected]> wrote: > On Wed, May 15, 2019 at 8:40 AM Bekritsky, Benjamin via zeromq-dev < > [email protected]> wrote: > >> Turns out Justin’s original suggestion to “to set SNDHWM=0 on the SUB >> socket and RCVHWM=0 on the PUB socket” resolves the issue. In particular on >> the SUB socket. I had mistakenly set the *RCV*HWM for the SUB socket. >> > > > On Wed, May 15, 2019 at 6:23 AM James Harvey <[email protected]> > wrote: > >> [...] >> > 1. subscriptions make it through to the publisher, this is where the >> filtering happens (apart from pgm/mcast transport) >> > > > Thank you/aHA/Eureka/the light just came on: each > setsockopt/ZMQ_SUBSCRIBE by the subscriber ***S*e*ND*s** a message **to** > the publisher, which is why the subscriber needs to set *SND*HWM to 0 (I > suppose anything over 65535 woould work for 16-bit topics). > > I updated my example code > <https://github.com/drbitboy/test_0mq_subscribe_limit>, and it now works > as expected. > > > > Philosophical sidebar: why does it seem that we always end up in the > internals? Stated another way, why doesn't the library just work all the > time for every case (Although if it did, wouldn't many of us be out of a > job;-)? > > #1 I am not saying anything against 0MQ; on the contrary, I think it's > amazing. > > I guess the answer is the Pareto Principle (80/20), i.e. that any single > library cannot handle all edge cases with its default settings, so we spend > 80% of our time, digging into the internals, for the 20% that are edge > cases. > > For example, the default HWMs of 1000 are not unreasonable; they work fine > until a case like Benjy's comes along, Then, to solve his problem we > needed those (Justin, James) who understand the internals to provide the > answer. Maybe the default HWM should be zero (i.e. infinite; damn the > torpedoes, full speed ahead!;-), and let developers who need finite HWMs > set them up themselves*. Then we'd be fine (until the next edge case;-). > > * sort of like how I got into the habit of putting [IMPLICITNONE] at the > start of every FORTRAN module. > _______________________________________________ > zeromq-dev mailing list > [email protected] > https://lists.zeromq.org/mailman/listinfo/zeromq-dev >
_______________________________________________ zeromq-dev mailing list [email protected] https://lists.zeromq.org/mailman/listinfo/zeromq-dev
