Re: ZeroMQ

2023-02-13 Thread Janne Rosberg
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

2023-02-06 Thread Marco Casaroli
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

2023-02-06 Thread Sebastien Lorquet

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

2023-02-03 Thread David S. Alessio
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

2023-02-03 Thread Xiang Xiao
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

2023-02-03 Thread Marco Casaroli
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.