#include <senf/Scheduler/Poller.hh>
This class provides a more convenient interface to the epoll() API. File descriptors are registered with pointers to a parameterized event type. After waiting for an event, the Poller allows to iterate over the event instances for all posted events.
Value | Event type |
Definition at line 51 of file Poller.hh.
Classes |
|
struct | GetPollResult |
Public Types |
|
enum |
Events { EV_READ = EPOLLIN, EV_PRIO = EPOLLPRI, EV_WRITE = EPOLLOUT, EV_HUP = EPOLLHUP, EV_ERR = EPOLLERR } |
typedef Value | value_type |
typedef boost::transform_iterator < GetPollResult, epoll_event * > |
iterator |
typedef boost::iterator_range < iterator > |
range |
Public Member Functions |
|
bool | set (int fd, int events, Value *data) |
Set file descriptor event data and mask. |
|
void | remove (int fd) |
Remove file descriptor. |
|
range | wait () |
Wait for one event. |
|
void | timeout (int t) |
Set event timeout to t milliseconds. |
|
int | timeout () const |
Current event timeout. |
|
Structors and default members |
|
Poller () | |
~Poller () |
typedef boost::transform_iterator<GetPollResult, epoll_event*> senf::scheduler::detail::Poller< Value >:: | ||||
iterator | ||||
typedef boost::iterator_range<iterator> senf::scheduler::detail::Poller< Value >:: | ||||
range | ||||
typedef Value senf::scheduler::detail::Poller< Value >:: | ||||
value_type | ||||
enum senf::scheduler::detail::Poller:: | ||||
Events | ||||
senf::scheduler::detail::Poller< Value >:: | ||||
Poller | () | |||
Definition at line 35 of file Poller.cti.
senf::scheduler::detail::Poller< Value >::~ | ||||
~Poller | () | |||
Definition at line 44 of file Poller.cti.
void senf::scheduler::detail::Poller< Value >:: | ||||
remove | ( | int | fd | ) |
bool senf::scheduler::detail::Poller< Value >:: | ||||
set | ( | int | fd, | |
int | events, | |||
Value * | data | ) | ||
int senf::scheduler::detail::Poller< Value >:: | ||||
timeout | () | |||
Current event timeout.
Definition at line 56 of file Poller.cti.
void senf::scheduler::detail::Poller< Value >:: | ||||
timeout | ( | int | t | ) |
Set event timeout to t milliseconds.
Definition at line 50 of file Poller.cti.
senf::scheduler::detail::Poller< Value >::range senf::scheduler::detail::Poller< Value >:: | ||||
wait | () | |||