浅析muduo网络库之updateChannel——谁在调用

看代码


void Channel::update()
{
  addedToLoop_ = true;
  loop_->updateChannel(this);
}

void EventLoop::updateChannel(Channel* channel)
{
  assert(channel->ownerLoop() == this);
  assertInLoopThread();
  poller_->updateChannel(channel);
}

谁在调用channel::update()

class Channel {
  void enableReading() { events_ |= kReadEvent; update(); }
  void disableReading() { events_ &= ~kReadEvent; update(); }
  void enableWriting() { events_ |= kWriteEvent; update(); }
  void disableWriting() { events_ &= ~kWriteEvent; update(); }
  void disableAll() { events_ = kNoneEvent; update(); }
};

原来更新了监听事件,就会调用update()

打赏

如果这篇文章解决了您的问题,让我买根烟抽抽。

浅析muduo网络库之updateChannel——谁在调用_第1张图片
支付宝.jpg
浅析muduo网络库之updateChannel——谁在调用_第2张图片
微信.jpg

你可能感兴趣的:(浅析muduo网络库之updateChannel——谁在调用)