c++ epoll reactor