/nng

nanomsg-next-generation -- in development (not for production use)

Primary LanguageCMIT LicenseMIT

nng - nanomsg-next-gen

MIT License Linux Status Windows Status Coverage Codacy code quality

This repository represents a rewrite of the SP protocol library known as libnanomsg.

This is pre-release, but at this point we believe that the library is robust enough to use for development and testing, and we are actively seeing additional testing and review.

While we have made every reasonable effort to ensure that this library is robust and safe, it is still a pre-release, and details are subject to change. Caution is advised before depending upon it.

Note
We’re getting pretty close to removing this caveat though, and we’d like help from others in testing to further improve our confidence before we do.

When the library is ready for broader consumption, an announcement will be posted on the nanomsg mailing list and website.

If you are looking for the current production version of nanomsg, please see the nanomsg repo.

If you want to build and test yourself, you need CMake version 3.1, and you can use standard CMake build recipes. (We highly recommend using Ninja as it is much faster than traditional build systems.) On a Linux/UNIX system, if you have Ninja already installed, you can for example do:

  $ mkdir build
  $ cmake -G Ninja ..
  $ ninja
  $ ninja test

This library can be compiled with support for TLS, which enables the use of the "tls+tcp://" and "wss://" schemes. In order to this, configure with -DNNG_ENABLE_TLS=ON.

Note
The NNG_ENABLE_TLS library depends on the ARM mbedTLS library. This library is available in packaged form for many systems, and can be built for just about any of the others. However, please be aware of the licensing implications, because the mbedTLS library carries other licensing requirements (either Apache or GPL) than nng. either Apache or GPL licenses.

Much of the library, but not all, is documented in the docs/ folder, and also online.

You can also buy a copy of the NNG Reference Manual at Leanpub. (Purchases from Leanpub help fund our work, and get get a nicer formatted single PDF or ebook edition.)

You can also explore the nng.h header file, which provides the public API. A legacy compatible nng_compat.h header is available and offers API compatibility with legacy nanomsg.

Commercial Support

Commercial support for NNG is available.

Please contact Staysail Systems to inquire further.