[nanomsg] Changes to TCP public API, new low level APIs

  • From: Garrett D'Amore <garrett@xxxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Sun, 6 Jan 2019 12:55:10 -0800

All,

I’ve just merged changes which substantially change the API used by the bottom 
half TCP code – this won’t affect most of you, but if you had started using NNG 
for arbitrary TCP connections, you should be aware that the option handling in 
particular has changed, as well as the listen API.

Also, there are now undocumented (so far, I’ll get there shortly) bottom half 
transports for IPC and TLS over TCP.  You can check out the include files for 
them in the master repo at include/supplemental/ipc/ipc.h and 
include/supplemental/tls/tls.h

I’m planning to create a public WebSocket API in the same vein as well, and it 
will use the same option handling mechanism.

I believe that some of the transports have likely grown additional option 
support as a result of these changes.  For example, the TLS transport now 
supports all the options that the underlying TCP transport offers.  WebSocket 
has this for pipes as well, although the code to support this for dialers and 
listeners is still pending.

I’ll be updating the website with updated documentation as well.  Stay tuned 
for that.

Note that none of this stuff was in any tagged versioned release, which is part 
of why I felt breaking the TCP API in master was acceptable.  Please accept my 
apologies to any of you that were impacted by this.

Once I’ve cleaned up the last bits I have pending for this (including WebSocket 
and docs for TLS, IPC, and WebSocket APIs), I’ll probably tag a 1.2 release.

Thanks!

Garrett

Other related posts:

  • » [nanomsg] Changes to TCP public API, new low level APIs - Garrett D'Amore