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

FreeBSD Manual Pages

  
 
  

home | help
NN_DEVICE(3)			  nanomsg 1.1.5 		    NN_DEVICE(3)

NAME
     nn_device - start a device

SYNOPSIS
     #include <nanomsg/nn.h>

     int nn_device (int s1, int s2);

DESCRIPTION
     Starts  a	device	to forward messages between two sockets. If both sockets
     are valid, nn_device function loops and sends any messages received from s1
     to s2 and vice versa. If only one socket is valid and the	other  is  nega-
     tive,  nn_device  works in a "loopback" mode -- it loops and sends any mes-
     sages received from the socket back to itself.

     To break the loop and make nn_device function exit use the nn_term(3) func-
     tion.

RETURN VALUE
     The function loops until it hits an error. In such a case it returns -1 and
     sets errno to one of the values defined below.

ERRORS
     EBADF
	 One of the provided sockets is invalid.

     EINVAL
	 Either one of the socket is not an AF_SP_RAW socket; or the two sockets
	 don't belong to the same protocol; or the directionality of the sockets
	 doesn't fit (e.g. attempt to join two SINK sockets to form a device).

     EINTR
	 The operation was interrupted by delivery of a signal.

     ETERM
	 The library is terminating.

EXAMPLE
	 int s1 = nn_socket (AF_SP_RAW, NN_REQ);
	 nn_bind (s1, "tcp://127.0.0.1:5555");
	 int s2 = nn_socket (AF_SP_RAW, NN_REP);
	 nn_bind (s2, "tcp://127.0.0.1:5556");
	 nn_device (s1, s2);

SEE ALSO
     nn_socket(3) nn_term(3) nanomsg(7)

AUTHORS
     Martin Sustrik <sustrik@250bpm.com>

				   2018-10-15			    NN_DEVICE(3)

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

home | help