美文网首页浅析muduo网络库
浅析muduo网络库之updateChannel——谁在调用

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

作者: 谢昆明 | 来源:发表于2018-01-09 21:05 被阅读27次

    看代码

    
    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()

    打赏

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

    支付宝.jpg 微信.jpg

    相关文章

      网友评论

        本文标题:浅析muduo网络库之updateChannel——谁在调用

        本文链接:https://www.haomeiwen.com/subject/qzwgnxtx.html