Re: ZeroMQ
I did the libzmq and libnng porting (WIP) year ago to nuttx apps Never finished it to Nuttx PR It's available here for reference if someone is interested. offcode-oy/nuttx-apps at wip/libzmq_and_nng (github.com)<https://github.com/offcode-oy/nuttx-apps/tree/wip/libzmq_and_nng> --Janne From: Marco Casaroli Sent: Monday, 6 February 2023 10.55 To: dev@nuttx.apache.org Subject: Re: ZeroMQ I am doing this. Will share in a couple of weeks. On Mon, 6 Feb 2023 at 09:41, Sebastien Lorquet wrote: > Hi, > > this is very interesting, thanks for sharing this. > > Did anyone already integrate nng in NuttX ? > > Sebastien > > Le 04/02/2023 à 03:02, David S. Alessio a écrit : > > 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 > wrote: > >> > >> On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli > >> 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. > > >
Re: ZeroMQ
I am doing this. Will share in a couple of weeks. On Mon, 6 Feb 2023 at 09:41, Sebastien Lorquet wrote: > Hi, > > this is very interesting, thanks for sharing this. > > Did anyone already integrate nng in NuttX ? > > Sebastien > > Le 04/02/2023 à 03:02, David S. Alessio a écrit : > > 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 > wrote: > >> > >> On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli > >> 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. > > >
Re: ZeroMQ
Hi, this is very interesting, thanks for sharing this. Did anyone already integrate nng in NuttX ? Sebastien Le 04/02/2023 à 03:02, David S. Alessio a écrit : 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 wrote: On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli 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.
Re: ZeroMQ
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 wrote: > > On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli > <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.
Re: ZeroMQ
On Fri, Feb 3, 2023 at 4:31 PM Marco Casaroli 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. >
ZeroMQ
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. 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). Thank you.