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 <xiaoxiang781...@gmail.com> wrote: > > On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli > <marco.casar...@midokura.com.invalid > <mailto:marco.casar...@midokura.com.invalid>> 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.