All,
ZeroMQ is/was quite popular, but its author redesigned it, created a much
cleaner implementation called “nanomsg”,
ref: https://nanomsg.org/documentation-zeromq.html
<https://nanomsg.org/documentation-zeromq.html>
ref: https://nanomsg.org/index.html <https://nanomsg.org/index.html>
And then he rewrote it again:
ref: https://nng.nanomsg.org/RATIONALE.html
<https://nng.nanomsg.org/RATIONALE.html>
and called it nng:
ref: https://nng.nanomsg.org <https://nng.nanomsg.org/>
So, in short, if one is interested in ZeroMQ and NuttX, I’d suggest nanomsg
would be a much more efficient replacement; and finally the best choice of the
three IMHO would be nng for an embedded system (Cortex-M3/4 class) system.
Just my $0.025, I hope it’s helpful.
Cheers,
-david
> On Feb 3, 2023, at 2:24 AM, Xiang Xiao <[email protected]> wrote:
>
> On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli
> <[email protected]
> <mailto:[email protected]>> wrote:
>
>> Hello,
>>
>> I've been experimenting to build ZeroMQ work with NuttX and I wanted to
>> share my results so far.
>>
>> TLDR: it works
>>
>> Please, understand that I am very new to NuttX so please tell me with any
>> conceptual errors I might be facing!
>>
>> https://github.com/casaroli/incubator-nuttx/tree/zeromq
>>
>> I think we need to be able to use this library both from kernel code and
>> from applications, so I guessed this would fit along libxx and libdsp, etc.
>>
>>
> Kernel code needs to call some special API(e.g. kmm_malloc, psock_send and
> file_open), I amn't sure whether is it easy to adjust ZeroMQ for this type
> of change.
>
>
>> So I basically copied many stuff from those directories into libs/libzmq
>>
>> Still needs a lot of work, so next steps are to find a way to run the
>> tests, then to make platform.hpp defines use nuttx/config.h, add czmq
>> (higher level interface).
>>
>> However, in the current state, I could get IPC through Unix Domain Sockets
>> and TCP. inproc also works fine.
>>
>> I wrote some simple examples (not on the repo) and they work.
>>
>> I want to know if anyone else is interested in helping with this (make
>> ZeroMQ/czmq, nng, etc. work).
>>
>>
> Yes, it's definitely good to support more 3rd party general libraries.
>
>
>> Thank you.