当前位置: 首页 > news >正文

通州顺德网站建设全网模板建站系统

通州顺德网站建设,全网模板建站系统,5151app是交友软件么,2019还有人做网站淘宝客吗这个模块就是 记录文件描述符 和 想要监控的事件,实际就绪的事件,以及事件发生之后要怎么做,判断有没有监控这个事件,获取事件。 class Poller; class EventLoop; class Channel {private:int _fd;EventLoop *_loop;uint32_t _ev…

这个模块就是 记录文件描述符 和 想要监控的事件,实际就绪的事件,以及事件发生之后要怎么做,判断有没有监控这个事件,获取事件。

class Poller;
class EventLoop;
class Channel {private:int _fd;EventLoop *_loop;uint32_t _events;  // 当前需要监控的事件uint32_t _revents; // 当前连接触发的事件using EventCallback = std::function<void()>;EventCallback _read_callback;   //可读事件被触发的回调函数EventCallback _write_callback;  //可写事件被触发的回调函数EventCallback _error_callback;  //错误事件被触发的回调函数EventCallback _close_callback;  //连接断开事件被触发的回调函数EventCallback _event_callback;  //任意事件被触发的回调函数public:Channel(EventLoop *loop, int fd):_fd(fd), _events(0), _revents(0), _loop(loop) {}int Fd() { return _fd; }uint32_t Events() { return _events; }//获取想要监控的事件void SetREvents(uint32_t events) { _revents = events; }//设置实际就绪的事件void SetReadCallback(const EventCallback &cb) { _read_callback = cb; }void SetWriteCallback(const EventCallback &cb) { _write_callback = cb; }void SetErrorCallback(const EventCallback &cb) { _error_callback = cb; }void SetCloseCallback(const EventCallback &cb) { _close_callback = cb; }void SetEventCallback(const EventCallback &cb) { _event_callback = cb; }//当前是否监控了可读bool ReadAble() { return (_events & EPOLLIN); } //当前是否监控了可写bool WriteAble() { return (_events & EPOLLOUT); }//启动/关闭是改变了监控事件 但你需要告诉人家监控模块(poller)//启动读事件监控void EnableRead() { _events |= EPOLLIN; Update(); }//启动写事件监控void EnableWrite() { _events |= EPOLLOUT; Update(); }//关闭读事件监控void DisableRead() { _events &= ~EPOLLIN; Update(); }//关闭写事件监控void DisableWrite() { _events &= ~EPOLLOUT; Update(); }//关闭所有事件监控void DisableAll() { _events = 0; Update(); }//移除监控void Remove();void Update();//事件处理,一旦连接触发了事件,就调用这个函数,自己触发了什么事件如何处理自己决定void HandleEvent() {if ((_revents & EPOLLIN) || (_revents & EPOLLRDHUP) || (_revents & EPOLLPRI)) {/*不管任何事件,都调用的回调函数*/if (_read_callback) _read_callback();}/*有可能会释放连接的操作事件,一次只处理一个*/if (_revents & EPOLLOUT) {if (_write_callback) _write_callback();}else if (_revents & EPOLLERR) {if (_error_callback) _error_callback();//一旦出错,就会释放连接,因此要放到前边调用任意回调}else if (_revents & EPOLLHUP) {if (_close_callback) _close_callback();}if (_event_callback) _event_callback();}
};void Channel::Remove() { return _loop->RemoveEvent(this); }
void Channel::Update() { return _loop->UpdateEvent(this); }

http://www.tj-hxxt.cn/news/1425.html

相关文章:

  • 做网站模块网站推广和seo
  • 网站建设是管理费用的哪项费用手机网站建设平台
  • 今日新闻国际短视频seo排名
  • 无锡工程建设招标网站关键词排名查询软件
  • wordpress 窗口大小seo排名优化的方法
  • 嘉定专业网站制作公司百度竞价推广托管
  • 韶关网站建设广东网站营销seo方案
  • 哈尔滨网站建设优化公司怎么用手机制作网站
  • 广州做网站的网络公司开发网站多少钱
  • wordpress手机端主题插件怎么优化推广自己的网站
  • 温州网站制作简述在线推广网站的方法
  • 用c 做网站设计系统的项目作业自助友链平台
  • 网站建设要点成人技能培训
  • 饲料网站建设 中企动力北京发生大事了
  • 研学网站开发需求文档微信群拉人的营销方法
  • 做淘宝联盟网站用数据库吗北京建站
  • 政府部门网站建设总结关键词排名是由什么决定的
  • wordpress 在safari运动很慢上优化seo
  • WordPress可以做政府网站吗百度推广员工工资怎么样
  • 高清素材免费下载沈阳seo关键字优化
  • 做企业官网要多少资金和时间群站优化之链轮模式
  • 预定型网站有哪些销售新人怎么找客户
  • 洛阳做网站优化品牌网站建设方案
  • 云南网站建设价格seo上排名
  • asp网站建设举一个网络营销的例子
  • 福州综合网站建设免费进入b站2022年更新
  • 注重网站内容维护网页设计制作网站
  • 我想代理一个产品seo整站优化公司持续监控
  • 什么电脑做网站前段用百度竞价代理商
  • ae模板网站推荐汕头seo管理