I would also like to have some status on the development. It has been 5 month since the mast commit on github. I was considering adding nanomsg to debian repositories, but that may be too early? is nanomsg still under development? On Sat, Feb 22, 2014 at 9:39 AM, Garrett D'Amore <garrett.damore@xxxxxxxxx>wrote: > Hi all, > > I have recently started looking at nanomsg as a superior alternative to > zeromq, and I’m pleased with what I’ve found. I was able to put together a > JSON-RPC server of my own device on top of nanomsg really quickly. I was > quite pleased with the result. Admittedly, I’ve not tried building any of > the other patterns other than REQ/REP yet, but I don’t expect too many > surprises. > > That said, I see that the upstream github repo is rather devoid of > activity lately. I’d like to understand whether this is due to lack of > resource, or a feeling that the project is sufficiently complete to not > require further investment? > > Are folks using this stuff in production yet? Are there gotchas that I > should be aware of? I don’t see anything obvious in the code, but would > like to know what experiences folks have with it so far. (Yes, I know its > officially “alpha”, but reading the code, and understanding the underlying > design, I feel *far* more inclined to trust this project’s alpha quality > code than some other projects’ production stuff. :-) > > At the same time I’m exploring Go, and would like to bind the two together > in native Go rather than building against external C. It seems that Go has > a concurrency and messaging model that is more naturally suited to nanomsg, > and based on conversations I’ve had with one of the Go developers (Aram > Hǎvǎrneanu), I am thinking that linking libnanomsg.a to Go robs the > application of some of the benefits of Go’s excellent concurrency and > messaging. > > I did find the zenio project here https://github.com/op/zenio and am > starting to work with it. I need to extend it to support the ipc:/// > scheme, so that wil be my first area of enhancement. But it seems like > this project really could use more investment, and its something I’m keen > to do. (Has anyone else here tried using zenio outside of the author?) > Admittedly I’m more interested in creating a pure Go implementation of > just nanomsg than I’m in trying to also support zmq — it seems like that is > better addressed in a separate project, although having a higher level > abstraction model (interface) that could support either project doesn’t > seem like a terrible idea — that should just be a matter of defining the > proper method signatures. > > I’m also concerned about the stability of the wire protocol, as what I’m > really looking at is investing into enhancing (if based upon zenio) or even > creating (if starting fresh) a completely independent implementation of the > protoocols. (Again, this has *nothing* to do with not being happy with > libnanomsg in the context of a C application — in fact I really like the > library both from an interface and from an implementation standpoint. But > writing for C is different than writing for another environment, and I > believe we can make a *superior* implementation *for Go* by doing it in Go > natively.) I found the RFC drafts, and they seem to mostly match the code, > apart from the fact that the current code sends version 0 instead of 1. > Are there other differences in the code, or planned that I should know > about? > > I’d also be interested in extending nanomsg to operate over kinds of > transports. I’m specifically interested in tunneling it through SSL/TLS > and HTTPS/websocket. (This would help allow it to reach across the > internet without requiring a VPN.) It seems like this would be a fairly > straight-forward task to do, just creating additional transports in the > transport/ directory. Are there already such efforts underway? Are there > strong opinions about such efforts one way or the other? (Doing this in Go > would be almost child’s play given a version that works with TCP. Making > it work in C means bringing in other libraries like OpenSSL or libcurl, > unless one wants to write those protocol implementations from scratch > which I most assuredly do *not*! :-) > > Anyway, sorry for the long rambling message, and thanks for any advice or > pointers provided! > > -- > Garrett D'Amore > Sent with Airmail > -- Aurélien Vallée Phone +33 9 77 19 85 61