Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NN_INPROC(7)			  nanomsg 1.1.5 		    NN_INPROC(7)

NAME
     nn_inproc - in-process transport mechanism

SYNOPSIS
     #include <nanomsg/nn.h>

     #include <nanomsg/inproc.h>

DESCRIPTION
     In-process transport allows to send messages between threads or modules in-
     side  a  process.	In-process address is an arbitrary case-sensitive string
     preceded by inproc:// protocol specifier. All in-process addresses are vis-
     ible 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 applica-
     tion design and violates the scalable share-nothing architecture. If you do
     pass pointers among threads, synchronising thread access to shared data be-
     comes 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 op-
     tion 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.

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

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

AUTHORS
     Martin Sustrik <sustrik@250bpm.com>

				   2018-10-15			    NN_INPROC(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nn_inproc&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help