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

Rich Schramm rich at mbari.org
Fri Mar 9 19:12:04 CET 2018


Sorry about my previous…. was answering a different question (about conflate)
The solution to this topic as provided by Lucca was to:
 
    zsock_t *backend = zsock_new_xpub ("@tcp://*:5558");
    assert(backend);
    
    // if want to see multiple subscribers to same topic
    int verbose = 1;
    zsock_set_xpub_verbose(backend, verbose);

-Rich


> 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