[Ndn-interest] Questions about ndn porting to golang

Lei Pi lpi at memphis.edu
Thu Feb 23 07:49:03 PST 2017


Alex, Wentao, and Tai-Lin,

Thank you very much for the information.

So as a conclusion, it is not suggested to automate linking go programs to
ndn-cxx, because concurrency and memory management will be a problem for
the application. (Btw, SWIG 3.0 supports generating C++ code wrappers now,
not sure if writing swig binding is still a problem.)

It is more prefered to use and help maintain go-ndn to develop ndn
applications. This project is currently maintained by Tai-Lin.

On Thu, Feb 23, 2017 at 12:31 AM, Tai-Lin Chu <tailinchu at gmail.com> wrote:

> Hi,
> I am the maintainer of go-ndn. I agree with Alex that ndn-cxx does not
> work well with go runtime. The main problems are thread-safety and
> memory management.
>
> For the programming model, I don't think it is entirely incompatible;
> this is a problem of designing an interface. I think (correct me if I
> am wrong) that all supported ndn libraries are designed to be async
> because the programming language cannot efficiently map async nature
> of networking to higher level abstraction. go encourages writing
> blocking code, which can be easily made async later with goroutine. If
> you look into go-ndn/ndn, lowest-level is still async, but higher
> level abstraction (go-ndn/mux) is synchronous, and handles one
> interest in a goroutine like go http library.
>
> go-ndn/ndn library is still maintained (we are going to release go-ndn
> 1.8 next week or so), and the api is more or less stable. I tried to
> keep this core library minimal, and the newer works are some higher
> level libraries that use it, like go-ndn/raft and go-ndn/mux. We and
> some other companies/organizations have been running this for a while
> now, so it should be good if you are trying to prototype some NDN
> applications in go for your hackathon. Ping me if you need to know
> more about mux and go-ndn/raft.
>
> If you are interested in go-ndn performance, you can also benchmark
> it, and hope you will find it quite "optimized" :)
>
> Thanks!
>
>
> On Wed, Feb 22, 2017 at 8:02 PM, Lei Pi (lpi) <lpi at memphis.edu> wrote:
> > Hi everyone,
> >
> > While thinking about proposals for the coming NDN Hackathon, I’m curious
> > about the possibilities to write NDN applications in golang.
> >
> > There is a go-ndn project on github [1], which seems to be
> re-implementing
> > ndn in golang. But it is not officially supported or maintained.
> >
> > Another option for using ndn in golang is to link the binary with the
> > libndncxx / libndncpp library. [2][3][4]
> >
> > Does anyone already have experience in using SWIG to link golang programs
> > with libndncxx or libndncpp?
> >
> > [1] https://github.com/go-ndn/ndn
> > [2] https://golang.org/doc/faq#Do_Go_programs_link_with_Cpp_programs
> > [3] https://golang.org/cmd/cgo/
> > [4] http://www.swig.org/Doc3.0/Go.html
> >
> > Thank you.
> > ----
> > Regards,
> > Lei Pi
> > University of Memphis
> > Masters Student in Computer Science
> >
> >
> >
> >
> >
> > _______________________________________________
> > Ndn-interest mailing list
> > Ndn-interest at lists.cs.ucla.edu
> > http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
> >
>



-- 
Regards,
Lei
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20170223/28b5f3bc/attachment-0001.html>


More information about the Ndn-interest mailing list