[zeromq-dev] zpoller and lvcache backend socket misses new subscribers to duplicate topic

Rich Schramm rich at mbari.org
Fri Mar 9 19:06:50 CET 2018

Thanks Luca !

For the record - what wasn't working:
  zsock_t *subscriber = zsock_new_sub(“tcp://", "FOO");
  int conflate = 1; 
  zsock_set_conflate(subscriber, conflate);

What does appear to work:
   zsock_t *subscriber = zsock_new(ZMQ_SUB);
   int conflate = 1;
   zsock_set_conflate(subscriber, conflate);
   zsock_connect(subscriber, "tcp://localhost:5558");


> On Mar 8, 2018, at 2:39 PM, Luca Boccassi <luca.boccassi at gmail.com> wrote:
> On 8 Mar 2018 21:14, "Rich Schramm" <rich at mbari.org> wrote:
> I am trying to implement lvcache from example with the czmq vsn 4.1.0. api  I want to send last value from cache to any new subscriber to a topic.  My problem is that only the first subscriber to a topic is seems to trigger an event for the backend XPUB socket in the poller_wait loop …  ie 1st client subcriber to topic “FOO” and first client subscribing to topic  “BAR” both are recognized.  A third client also starting a subscription to “FOO” doesnt appear to be detected at the poller_wait.
> Likewise, the poller also doesnt trigger again until all clients that have subscribed to ‘FOO” are killed.
> Is this expected behavior and/or how can I make sure that every client subscribing is recognized and receives the topic’s initial cached value?
> -Rich Schramm
> To get duplicated subscriptions you need to set the xpub_verbose socket option.
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev

More information about the zeromq-dev mailing list