All, I’ve finished some debugging, and am now ready to announce the first public release of my SP protocol implementation in pure Go. https://bitbucket.org/gdamore/sp There’s also documentation here: https://godoc.org/bitbucket.org/gdamore/sp This is licensed under Apache License 2.0 This is *VERY* preliminary. In particular, I’ve only implemented REP, REQ, XREP, XREQ over TCP and IPC at this point. (I’ve not tested interop between nanomsg with IPC yet, but it seems to work with TCP, and I’d be somewhat surprised if it doesn’t just work with IPC.) The implementation of each of those protocols is only about 100 lines each. The implementation of IPC and TCP are also only about 100 lines each. (Admittedly, they make use of a common core that is a little bit larger, but I expect TLS to only require about 100-150 lines. Including whitespace and comments. :-) I will probably implement Pub / Sub in the next day or so. I expect few if any challenges there. I’ll have to provide a trie, and I was somewhat surprised to see that nanomsg handles the subscription filters on the subscriber side rather than the publisher. (I guess this makes much less work for the publisher to keep track of things, and a vastly simpler protocol, but it also assumes network bandwidth is cheap. It would work better over a true broadcast/multicast medium too.) The IPC also only supports Unix like operating systems. golang has no native support for named pipes, and I don’t have a Microsoft platform to test any implementation on, even if I were tempted to write one myself (and to be honest, I’m not. :-) I would appreciate any *useful* feedback anyone might have. The bitbucket repo has a tracker. For the moment the issue tracker accepts anonymous posts. (Until such time as I get spam and have to disable anonymous issue posting. :-) I’d also welcome any collaboration, if folks here want to contribute. - Garrett