[zeromq-dev] Polling API
Martin Lucina
mato at kotelna.sk
Thu Apr 15 17:52:43 CEST 2010
sustrik at 250bpm.com said:
> Ok,
>
> Here's a first sketch:
>
> // Account for both 0MQ sockets and file descriptors.
> union zmq_poll_item_t
> {
> void *socket;
> int fd;
> };
Why a union type? Will that not be potentially problematic for some
languages?
> // Construction & destruction.
> void *zmq_poller (void *context);
> int zmq_poller_close (void *poller);
zmq_pollset_init() seems more consistent (we have zmq_init(),
zmq_msg_init...())
> // Pollset manipulation.
> int zmq_poller_mod (void *poller, zmq_poll_item_t item, int events, void
> *hint);
What is this "manipulation" call supposed to do? Shouldn't we have
zmq_pollset_add() and zmq_pollset_remove() instead?
> // Getting events.
> int zmq_poller_event (void *poller, zmq_poll_item_t *item, int *events,
> void **hint);
So, "Getting events" is the part that actually performs the poll operation?
Or is that missing here?
> Comments anyone?
>
> Maybe zmq_pollset would be more appropriate than zmq_poller?
I vote for zmq_pollset, definitely.
Incidentally we seem to be getting close to something similar to the APR
pollset API, which I have used in anger in the past and I've been pretty
happy with it.
For reference: http://apr.apache.org/docs/apr/1.4/group__apr__poll.html
-mato
More information about the zeromq-dev
mailing list