Go to the documentation of this file.
21 # include <sys/resource.h>
78 const std::string& name_ =
"<unknown>");
handler_t m_maxfd_plus1
Max file descriptor number (in all sets) plus 1.
int m_fd_setsize
Max number of open files per process.
bool removeIOHandler(handler_t fd_)
Remove IO Event handler from reactor.
std::map< u_int, EventHandler * > Fd2Eh_Map_Type
no cloning
@ ALL_EVENTS
Mask that includes all events.
void adjust_maxfdp1(handler_t fd_)
Adjust maxfdp1 in a portable way (win32 ignores maxfd alltogether).
void waitForEvents(void)
Main waiting loop that blocks indefinitely processing events.
TimerId registerTimerHandler(EventHandler *eh_, const TimeVal &tv_, const std::string &name_="<unknown>")
Register Timer Event handler with Reactor.
int(EventHandler::* EH_IO_Callback)(int)
Reactor & operator=(const Reactor &)
no cloning
Fd2Eh_Map_Type m_exceptSet
Event handlers awaiting on EXCEPT_EVENT.
void stopReactor(void)
Stop Reactor's activity.
bool dispatch(int minimum_)
Notify all EventHandlers registered on respecful events occured.
void dispatchHandler(FdSet &mask_, Fd2Eh_Map_Type &fdSet_, EH_IO_Callback callback_)
Call handler's callback and, if callback returns negative value, remove it from the Reactor.
MaskSet m_readySet
Handlers that are ready for processing.
@ RWE_EVENTS
READ_EVENT | WRITE_EVENT | EXCEPT_EVENT
Fd2Eh_Map_Type m_writeSet
Event handlers awaiting on WRITE_EVENT.
Fd2Eh_Map_Type::iterator Fd2Eh_Map_Iter
bool m_active
Flag that indicates whether Reactor is active or had been stopped.
void calculateTimeout(TimeVal *&howlong_, TimeVal *maxwait_)
Calculate closest timeout.
bool removeHandler(EventHandler *eh_, EventType et_=ALL_EVENTS)
Remove Event handler from reactor for either all I/O events or timeout event or both.
bool removeTimerHandler(TimerId id_)
Remove Timer event from the queue.
bool handleError(void)
Handle error in select(2) loop appropriately.
bool registerIOHandler(EventHandler *eh_, handler_t fd_, EventType et_=RWE_EVENTS)
Register I/O Event handler with Reactor.
MaskSet m_waitSet
Handlers to wait for event on.
bool checkFDs(void)
Check mask for bad file descriptors.
TimerQueue m_tqueue
The queue of Timers.
Fd2Eh_Map_Type m_readSet
Event handlers awaiting on READ_EVENT.
int isAnyReady(void)
Return number of file descriptors ready accross all sets.
void deactivate(void)
Deactivate Reactor.