= nng - nanomsg-next-gen image:https://img.shields.io/badge/license-MIT-blue.svg[MIT License] image:https://img.shields.io/circleci/project/github/nanomsg/nng.svg?label=[Linux Status,link="https://circleci.com/gh/nanomsg/nng"] image:https://img.shields.io/appveyor/ci/nanomsg/nng/master.svg?label=windows[Windows Status,link="https://ci.appveyor.com/project/nanomsg/nng"] image:https://codecov.io/gh/nanomsg/nng/branch/master/graph/badge.svg?label=coverage[Coverage,link="https://codecov.io/gh/nanomsg/nng"] image:https://api.codacy.com/project/badge/Grade/f241cba192974787b66f7e4368777ebf["Codacy code quality", link="https://www.codacy.com/app/gdamore/nng?utm_source=github.com&utm_medium=referral&utm_content=nanomsg/nng&utm_campaign=Badge_Grade"] This repository represents a rewrite of the SP protocol library known as https://github.com/nanomsg/nanomsg[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 https://github.com/nanomsg/nanomsg[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 https://ninja-build.org[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: [source,sh] ---- $ 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 https://tls.mbed.org[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 https://nanomsg.github.io/nng[online]. You can also buy a copy of the https://leanpub.com/nngmanual/[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 mailto:info@staysail.tech[Staysail Systems, Inc.] to inquire further.