Skip to content

2.0.0 Alpha 2 Release

Pre-release
Pre-release
Compare
Choose a tag to compare
@gdamore gdamore released this 01 Jan 02:12
· 83 commits to main since this release
f0a6556

Happy New Year! It's still 2024 as I write this, in my location, but not in others. And not for long!

This release has fixes for various things over alpha 2.0.0 alpha 1. Some notable improvements:

  • Introduction of support for socket activation -- see NNG_OPT_LISTEN_FD available for TCP, TLS, and on POSIX/Linux, IPC transports and streams layers.
  • Horizontal scalability of pollers -- epoll, kqueue, port events, and poll all now engage multiple threads, giving the opportunity to engage with multiple CPU cores. This should have a marked improvement on larger systems.
  • More allocations removed, more dereferences removed.
  • Hot code paths no have eliminated at least one pair of lock entry/exits vs alpha 1. (Which was already improved.)
  • More of documentation is converted.
  • Test suites are more reliable (pesky EADDRINUSE bugs are hopefully squashed now)

The nng_close function is renamed to nng_sock_close, as a heads up... so pay attention to the migration guide! (There is a macro, NNG1_MIGRATION that can be set to provide a macro to aid in transition.