From 354efc513fdb4096f8830e6c2e3e8f1311303e61 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Wed, 10 Feb 2010 16:18:46 +0100 Subject: Convert documentation to AsciiDoc --- doc/zmq_poll.txt | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 doc/zmq_poll.txt (limited to 'doc/zmq_poll.txt') diff --git a/doc/zmq_poll.txt b/doc/zmq_poll.txt new file mode 100644 index 0000000..8e386bc --- /dev/null +++ b/doc/zmq_poll.txt @@ -0,0 +1,85 @@ +zmq_poll(3) +=========== + + +NAME +---- +zmq_poll - polls for events on a set of 0MQ and POSIX sockets + + +SYNOPSIS +-------- +'int zmq_poll (zmq_pollitem_t *items, int nitems, long timeout);' + + +DESCRIPTION +----------- +Waits for the events specified by 'items' parameter. Number of items in the +array is determined by 'nitems' argument. Each item in the array looks like +this: + +---- +typedef struct +{ + void *socket; + int fd; + short events; + short revents; +} zmq_pollitem_t; +---- + +0MQ socket to poll on is specified by 'socket'. In case you want to poll on +standard POSIX socket, set 'socket' to NULL and fill the POSIX file descriptor +to 'fd'. 'events' specifies which events to wait for. It's a combination of +the values below. Once the call exits, 'revents' will be filled with events +that have actually occured on the socket. The field will contain a combination +of the values below. + +*ZMQ_POLLIN*:: +poll for incoming messages. +*ZMQ_POLLOUT*:: +wait while message can be set socket. Poll will return if a message of at least +one byte can be written to the socket. However, there is no guarantee that +arbitrarily large message can be sent. + +'timeout' argument specifies an upper limit on the time for which 'zmq_poll' +will block, in microseconds. Specifying a negative value in timeout means an +infinite timeout. + + +RETURN VALUE +------------ +Function returns number of items signaled or -1 in the case of error. + + +ERRORS +------ +*EFAULT*:: +there's a 0MQ socket in the pollset belonging to a different application thread. +*ENOTSUP*:: +0MQ context was initialised without ZMQ_POLL flag. I/O multiplexing is disabled. + + +EXAMPLE +------- +---- +zmq_pollitem_t items [2]; +items [0].socket = s; +items [0].events = ZMQ_POLLIN; +items [1].socket = NULL; +items [1].fd = my_fd; +items [1].events = ZMQ_POLLIN; + +int rc = zmq_poll (items, 2); +assert (rc != -1); +---- + + +SEE ALSO +-------- +linkzmq:zmq_socket[3] + + +AUTHOR +------ +Martin Sustrik -- cgit v1.2.3