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
       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.

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)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | SEE ALSO | AUTHORS

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

home | help