[nanomsg] nng progress update

  • From: "Garrett D'Amore" <garrett@xxxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Tue, 03 Oct 2017 17:47:07 +0000

Hi all,

For folks that may have been following along, nng progress has been really
good; I am nearing the day when I’m going to declare it “beta quality” and
ready for much broader testing leading up to a production release.

In several capacities it already outpaces libnanomsg functionality.  For
example, you can now bind to an ephemeral port in TCP, and obtain the port
that was selected.  You can also obtain information (sockaddrs!) with an
inbound message giving you information about where the message arrived
from.  Furthermore, with the new PAIRv1 protocol, you can even direct a
message back to that specific peer.  We also now have the ZeroTier
transport working well.

There are areas where the API still needs work — particularly the API for
events is going to change (probably this week), and I am thinking of
reducing the granularity of the core timers down to milliseconds to match
most other APIs (including legacy nanomsg).

We need to implement the websocket transport, which I expect to do very
soon.  I will probably implement the TLS transport first, so that we can
get websocket *and* websocket over TLS.  The websocket implementation will
also have the ability of reusing the same TCP port number with different
URL paths for different sockets.

Other than that, we still have performance work to do.  While the
*scalability* of nng is quite good (we can handle many thousands of peers)
— better than nanomsg — the individual latency still suffers a bit and
there are clear approaches to correcting and enhancing this.

IPC still needs enhancements to support permission and credentials better,
both for POSIX and Windows.  Some option handling around TCP (e.g.
keepalives, lingering, and no delay options) needs work as well.

Of course documentation is still MIA, and we will be investing in that too
shortly.

The good news is that we are continuing to invest (and receive investment
in) this effort.

The future for nng, and the nanomsg community, is looking bright indeed!

Thanks for your support!

  - Garrett

Other related posts:

  • » [nanomsg] nng progress update - Garrett D'Amore