#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 | () | |||