epoll_create();
epoll_ctl();
epoll_wait();
在阅读该项目前,读者应对epoll模型及调用了如指掌。
该类非常简单,我们只需要记录epoll模型的句柄,和epoll_wait返回的就绪事件集合即可。
Epoller{
private:
int epollfd_;
std::vector<struct epoll_event> events_; //存储从epoll_wait返回的事件
};
bool AddFd(int fd, uint32_t events);
bool ModFd(int fd, uint32_t events);
bool DelFd(int fd);
int Wait(int timeoutMS = -1);
int GetEventFd(size_t i) const;
uint32_t GetEvents(size_t i) const;