nn_poll man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

NN_POLL(3)			nanomsg manual			    NN_POLL(3)

NAME
       nn_poll - poll a set of SP sockets for readability and/or writability

SYNOPSIS
       #include <nanomsg/nn.h>

       int nn_poll (struct nn_pollfd *fds, int nfds, int timeout);

DESCRIPTION
       The function checks a set of SP socket and reports whether it’s
       possible to send a message to the socket and/or receive a message from
       each socket.

       fds argument is an array of nn_pollfd structures with nfds argument
       specifying the size of the array:

	   struct nn_pollfd {
	       int fd;
	       short events;
	       short revents;
	   };

       Each entry in the array represents an SP socket to check. events field
       specifies which events to check for. The value is a bitwise combination
       of the following values:

       NN_POLLIN
	   Check whether at least one message can be received from the fd
	   socket without blocking.

       NN_POLLOUT
	   Check whether at least one message can be sent to the fd socket
	   without blocking.

       After the function returns, revents field contains bitwise combination
       of NN_POLLIN and NN_POLLOUT according to whether the socket is readable
       or writable.

       timeout parameter specifies how long (in milliseconds) should the
       function block if there are no events to report.

RETURN VALUE
       Upon successful completion, the number of nn_pollfds structures with
       events signaled is returned. In case of timeout, return value is 0. In
       case of error, -1 is returned and errno is set the one of the values
       below.

ERRORS
       EBADF
	   Some of the provided sockets are invalid.

       EINTR
	   The operation was interrupted by delivery of a signal before the
	   message was sent.

       ETERM
	   The library is terminating.

NOTE
       nn_poll is a convenience function. You can achieve same behaviour by
       using NN_RCVFD and NN_SNDFD socket options. However, using the socket
       options allows for usage that’s not possible with nn_poll, such as
       simultaneous polling for both SP and OS-level sockets, integration of
       SP sockets with external event loops etc.

EXAMPLE
	   struct nn_pollfd pfd [2];
	   pfd [0].fd = s1;
	   pfd [0].events = NN_POLLIN | NN_POLLOUT;
	   pfd [1].fd = s2;
	   pfd [1].events = NN_POLLIN;
	   rc = nn_poll (pfd, 2, 2000);
	   if (rc == 0) {
	       printf ("Timeout!");
	       exit (1);
	   }
	   if (rc == -1) {
	       printf ("Error!");
	       exit (1);
	   }
	   if (pfd [0].revents & NN_POLLIN) {
	       printf ("Message can be received from s1!");
	       exit (1);
	   }

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

AUTHORS
       Martin Sustrik <sustrik@250bpm.com[1]>

NOTES
	1. sustrik@250bpm.com
	   mailto:sustrik@250bpm.com

nanomsg Unknown			  12/23/2015			    NN_POLL(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net