Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
NN_INPROC(7) nanomsg 1.1.5 NN_INPROC(7)

nn_inproc - in-process transport mechanism

#include <nanomsg/nn.h>

#include <nanomsg/inproc.h>

In-process transport allows to send messages between threads or modules inside a process. In-process address is an arbitrary case-sensitive string preceded by inproc:// protocol specifier. All in-process addresses are visible from any module within the process. They are not visible from outside of the process.

The nature of in-process transport makes it easy to pass pointers between threads instead of actual data. This is, however, considered a bad application design and violates the scalable share-nothing architecture. If you do pass pointers among threads, synchronising thread access to shared data becomes your responsibility. Such design also prevents moving the thread into different process or machine once the need arises. As a rule of the thumb, don’t pass pointers among threads unless you know what you are doing.

The overall buffer size for an inproc connection is determined by NN_RCVBUF socket option on the receiving end of the connection. NN_SNDBUF socket option is ignored. In addition to the buffer, one message of arbitrary size will fit into the buffer. That way, even messages larger than the buffer can be transfered via inproc connection.

nn_bind (s1, "inproc://test");
nn_connect (s2, "inproc://test);

nn_ipc(7) nn_tcp(7) nn_bind(3) nn_connect(3) nanomsg(7)

Martin Sustrik <>

Search for    or go to Top of page |  Section 7 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.