celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pepijn Noltes <pepijnnol...@gmail.com>
Subject Re: Nanomsg pubsub admin
Date Sat, 05 Jan 2019 11:26:48 GMT
Hi Erjan,

Good to have another technology for pubsub.

Btw I am preparing some changes to the pubsub API. Mainly so that
subscribers/publisher can opt-in for a callback to set (.e.g.) thread
priorities.
One of the additional benefits of the API change is that it also
possible to configure static publish / subscribe url, which makes
testing more easy.

I am planning to merge this branch somewhere next week, if this is
done maybe you can have a look and adds some test for the nanomsg
implementation.
For now see CELIX-454-pubsub-disc banch and specifically at the
bundles/pubsub/test dir, to see how this is done for ZMQ/UDP MC.


On Fri, Dec 28, 2018 at 2:05 PM erjan altena <erjanaltena@gmail.com> wrote:
>
> Hi All,
>
> I have added a PubSub admin, one using NanoMsg as transport mechanism to
> the develop branch.
> For now it is by default disabled, since there is a dependency to the
> nanomsg lib, which is not widely spread (ie Fedora does not have a package
> for it, you have to build/install it manually)
>
> Nanomsg is a transport mechanism, build by the same people as ZMQ, but
> without the ZMQ issues (see https://nanomsg.org/documentation-zeromq.html).
> It has also a better, more liberal,  license than ZMQ does (MIT iso LGPL)
>
> In the implementation I have chosen to use the  BUS pattern, which can be
> used to have multiple senders/multiple receivers on the same topic. The
> admin is written in C++ and uses the STL vector/map iso the map/list
> provided by Celix. This makes it type safe and easier to debug. The code is
> also a lot cleaner since there is (almost) no need to cast form
> void-pointers to the type in the vector.

Please note that this is now the first and only bundle requiring C++.
Until now C++ was only provided by the C++ dependency manager and this
was only used in the examples. As result using C++ (and adding the C++
dep requirement) was a choice of the user.

I am not sure if I am against this, but I think we should start a
discussion about C++ and if/how we want to support this. On the
background I have been working on some changes and I will try to
gather my though about this and post a discussion mail for this..
hopefully soon.

>
> Regards, Erjan
>
>
> --
> -------------------------------------------------------
> Erjan Altena


Greetings,
Pepijn

Mime
View raw message