3 #ifndef __ZMQ_POLL_HPP_INCLUDED__
4 #define __ZMQ_POLL_HPP_INCLUDED__
8 #if defined ZMQ_IOTHREAD_POLLER_USE_POLL
10 #if defined ZMQ_HAVE_WINDOWS
12 "poll is broken on Windows for the purpose of the I/O thread poller, use select instead; "\
13 "see https://github.com/zeromq/libzmq/issues/3107"
32 class poll_t
ZMQ_FINAL :
public worker_poller_base_t
35 typedef fd_t handle_t;
37 poll_t (
const thread_ctx_t &ctx_);
43 void rm_fd (handle_t handle_);
44 void set_pollin (handle_t handle_);
45 void reset_pollin (handle_t handle_);
46 void set_pollout (handle_t handle_);
47 void reset_pollout (handle_t handle_);
50 static int max_fds ();
56 void cleanup_retired ();
65 typedef std::vector<fd_entry_t> fd_table_t;
69 typedef std::vector<pollfd> pollset_t;
78 typedef poll_t poller_t;