poll相关的有三个类
关系如下:
class Poller
class PollPoller : public Poller
class EPollPoller : public Poller
poll的作用
等待事件发生,通知调用者
int numEvents = ::epoll_wait(epollfd_,
&*events_.begin(),
static_cast<int>(events_.size()),
timeoutMs);
接口一:Timestamp EPollPoller::poll(int timeoutMs, ChannelList* activeChannels)
@parm timeoutMs: 这个时间估计是等待多久
@param activeChannels: 记录有多少个事件发生,这边抽象了一个通道Channel
接口二:
poll需要指定监听哪几个通道,因此有增删改查的功能
virtual void removeChannel(Channel* channel) = 0;
virtual void updateChannel(Channel* channel) = 0;
打赏
如果这篇文章解决了您的问题,让我买根烟抽抽。
支付宝.jpg 微信.jpg
网友评论