• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.circleci/H15-Oct-2018-12297

cmake/H15-Oct-2018-3530

demo/H03-May-2022-1,173693

doc/H15-Oct-2018-3,9032,844

perf/H15-Oct-2018-643393

rfc/H03-May-2022-2,6242,039

src/H03-May-2022-34,78421,562

tests/H15-Oct-2018-5,5473,252

tools/H15-Oct-2018-1,5741,345

.appveyor.ymlH A D15-Oct-20181.7 KiB5449

.gitignoreH A D15-Oct-2018842 7776

.versionH A D15-Oct-20186 21

AUTHORSH A D15-Oct-20182.6 KiB7270

COPYINGH A D15-Oct-20181 KiB2216

README.mdH A D15-Oct-20185.2 KiB13296

RELEASINGH A D15-Oct-20181.5 KiB4328

SUPPORTH A D15-Oct-20181 KiB2418

configureH A D15-Oct-20182.6 KiB11779

README.md

1Welcome to nanomsg
2==================
3
4[![Release](https://img.shields.io/github/release/nanomsg/nanomsg.svg)](https://github.com/nanomsg/nanomsg/releases/latest)
5[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/nanomsg/nanomsg/blob/master/COPYING)
6[![Linux Status](https://img.shields.io/circleci/project/github/nanomsg/nanomsg/master.svg?label=linux)](https://circleci.com/gh/nanomsg/nanomsg)
7[![Windows Status](https://img.shields.io/appveyor/ci/nanomsg/nanomsg/master.svg?label=windows)](https://ci.appveyor.com/project/nanomsg/nanomsg)
8[![Coverage](https://codecov.io/gh/nanomsg/nanomsg/branch/master/graph/badge.svg?label=coverage)](https://codecov.io/gh/nanomsg/nanomsg)
9[![Gitter](https://img.shields.io/badge/gitter-join-brightgreen.svg)](https://gitter.im/nanomsg/nanomsg)
10
11The nanomsg library is a simple high-performance implementation of several
12"scalability protocols". These scalability protocols are light-weight messaging
13protocols which can be used to solve a number of very common messaging
14patterns, such as request/reply, publish/subscribe, surveyor/respondent,
15and so forth.  These protocols can run over a variety of transports such
16as TCP, UNIX sockets, and even WebSocket.
17
18For more information check the [website](http://nanomsg.org).
19
20Prerequisites
21-------------
22
231. Windows.
24   * Windows Vista or newer (Windows XP and 2003 are *NOT* supported)
25   * Microsoft Visual Studio 2010 (including C++) or newer, or mingw-w64.
26     (Specifically mingw and older Microsoft compilers are *NOT supported,
27     and we do not test mingw-w64 at all, so YMMV.)
28   * CMake 2.8.7 or newer, available in $PATH as `cmake`
29
302. POSIX (Linux, MacOS X, UNIX)
31   * ANSI C compiler supporting C89
32   * POSIX pthreads (should be present on all modern POSIX systems)
33   * BSD sockets support for both TCP and UNIX domain sockets
34   * CMake (http://cmake.org) 2.8.7 or newer, available in $PATH as `cmake`
35
363. Documentation (optional)
37   * asciidoctor (http://asciidoctor.org/) available as `asciidoctor`
38   * If not present, docs are not formatted, but left in readable ASCII
39   * Also available on-line at http://nanomsg.org/documentation
40
41Quick Build Instructions
42------------------------
43
44These steps here are the minimum steps to get a default Debug
45build.  Using CMake you can do many other things, including
46setting additional variables, setting up for static builds, or
47generation project or solution files for different development
48environments.  Please check the CMake website for all the various
49options that CMake supports.
50
51## POSIX
52
53This assumes you have a shell in the project directory, and have
54the cmake and suitable compilers (and any required supporting tools
55like linkers or archivers) on your path.
56
571.  `% mkdir build`
582.  `% cd build`
593.  `% cmake ..`
604.  `% cmake --build .`
615.  `% ctest .`
626.  `% sudo cmake --build . --target install`
637.  `% sudo ldconfig` (if on Linux)
64
65## Windows
66
67This assumes you are in a command or powershell window and have
68the appropriate variables setup to support Visual Studio, typically
69by running `vcvarsall.bat` or similar with the appropriate argument(s).
70It also assumes you are in the project directory.
71
721.  `md build`
732.  `cd build`
743.  `cmake ..`
754.  `cmake --build . --config Debug`
765.  `ctest -C Debug .`
776.  `cmake --build . --config Debug --target install`
78    *NB:* This may have to be done using an Administrator account.
79
80Static Library
81--------------
82
83We normally build a dynamic library (.so or .DLL) by default.
84
85If you want a static library (.a or .LIB), configure by passing
86`-DNN_STATIC_LIB=ON` to the first `cmake` command.
87
88### POSIX
89
90POSIX systems will need to link with the libraries normally used when building
91network applications.  For some systems this might mean -lnsl or -lsocket.
92
93### Windows
94
95You will also need to define `NN_STATIC_LIB` in your compilation environment
96when building programs that use this library.  This is required because of
97the way Windows changes symbol names depending on whether the symbols should
98be exported in a DLL or not.
99
100When using the .LIB on Windows, you will also need to link with the
101ws2_32, mswsock, and advapi32 libraries, as nanomsg depends on them.
102
103Support
104-------
105
106This library is considered to be in "sustaining" mode, which means that new
107feature development has ended, and bug fixes are made only when strictly
108necessary for severe issues.
109
110New development is now occuring in the [NNG](https://github.com/nanomsg/nng)
111project, which offers both protocol and API compatibility with this project.
112Please consider using NNG for new projects.
113
114Please see the file SUPPORT for more details.
115
116Resources
117---------
118
119Website: [http://nanomsg.org](http://nanomsg.org)
120
121Source code: [https://github.com/nanomsg/nanomsg](http://github.com/nanomsg/nanomsg)
122
123Documentation: [http://nanomsg.org/documentation.html](http://nanomsg.org/documentation.html)
124
125Bug tracker: [https://github.com/nanomsg/nanomsg/issues](http://github.com/nanomsg/nanomsg/issues)
126
127Mailing list: [nanomsg@freelists.org](http://www.freelists.org/list/nanomsg)
128
129Gitter Chat: [https://gitter.im/nanomsg/nanomsg](https://gitter.im/nanomsg/nanomsg)
130
131IRC chatroom: [#nanomsg at irc.freenode.net/8001](http://webchat.freenode.net?channels=%23nanomsg)
132