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

html5中文网站欣赏酒店加盟

html5中文网站欣赏,酒店加盟,杭州网站制作维护,校园网站建设 方案论证项目完整版在#xff1a; 文章目录 一、channel模块#xff1a;事件管理Channel类实现二、提供的功能三、实现思想#xff08;一#xff09;功能#xff08;二#xff09;意义#xff08;三#xff09;功能设计 四、代码#xff08;一#xff09;框架#xff08;二…项目完整版在 文章目录 一、channel模块事件管理Channel类实现二、提供的功能三、实现思想一功能二意义三功能设计 四、代码一框架二完整 一、channel模块事件管理Channel类实现 二、提供的功能 1.对监控事件的管理 描述符是否可读 描述符是否可写 对描述符监控可读 对描述符监控可写 解除可读事件监控 解除可写事件监控 解除所有事件监控 2.对监控事件触发后的处理 设置对于不同事件的回调处理函数 明确触发了某个事件该如何处理 三、实现思想 一功能 对socket套接字的操作进行封装。 二意义 对socket套接字的操作进行封装。 三功能设计 1.对监控事件的管理 描述符是否可读 描述符是否可写 对描述符监控可读 对描述符监控可写 解除可读事件监控 解除可写事件监控 解除所有事件监控 2.对监控事件触发后的处理 设置对于不同事件的回调处理函数 明确触发了某个事件该如何处理 四、代码 一框架 class Channel {private:int _fd;uint32_t events; // 当前需要监控的事件uint32_t revents; // 当前连接触发的事件using eventCallback std::functionvoid();eventCallback _read_callback; // 可读事件被触发的回调函数eventCallback _error_callback; // 可写事件被触发的回调函数eventCallback _close_callback; // 连接关闭事件被触发的回调函数eventCallback _event_callback; // 任意事件被触发的回调函数eventCallback _write_callback; // 可写事件被触发的回调函数public:Channel(int fd) : fd(_fd) {}int Fd() {return _fd ;}void setReadCallback(const eventCallback cb);void setWriteCallback(const eventCallback cb);void setErrorCallback(const eventCallback cb);void setCloseCallback(const eventCallback cb);void setEventCallback(const eventCallback cb);bool readAble(); // 当前是否可读bool writeAble(); // 当前是否可写void enableRead(); // 启动读事件监控void enableWrite(); // 启动写事件监控void disableRead(); // 关闭读事件监控void disableWrite(); // 关闭写事件监控void disableAll(); // 关闭所有事件监控void Remove(); //移除监控void handleEvent(); // 事件处理一旦触发了某个事件就调用这个函数};二完整 class Channel {private:int _fd;uint32_t events; // 当前需要监控的事件uint32_t revents; // 当前连接触发的事件using eventCallback std::functionvoid();eventCallback _read_callback; // 可读事件被触发的回调函数eventCallback _error_callback; // 可写事件被触发的回调函数eventCallback _close_callback; // 连接关闭事件被触发的回调函数eventCallback _event_callback; // 任意事件被触发的回调函数eventCallback _write_callback; // 可写事件被触发的回调函数public:Channel(int fd) : fd(_fd) {}int Fd() {return _fd ;}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);}void enableRead() {// 启动读事件监控_events | EPOLLIN; // 后面会添加到EventLoop的事件监控}void enableWrite() { // 启动写事件监控 _events | EPOLLOUT; // 后面会添加到EventLoop的事件监控}void disableRead() { // 关闭读事件监控_events ~EPOLLIN; // 后面会修改到EventLoop的事件监控}void disableWrite() { // 关闭写事件监控 _events ~EPOLLOUT;}void disableAll() { // 关闭所有事件监控_events 0;}void Remove(); // 后面会调用EventLoop接口移除监控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();}};
http://www.w-s-a.com/news/978314/

相关文章:

  • 网站管理助手3.0做淘宝网站用什么软件做
  • 贵阳做网站的公司wordpress趣味插件
  • 自己设置免费网站设计平台南京哪里有做公司网站的
  • 建设公司内网网站的意义自助建站网站的宣传手册
  • 手机建设中网站建立个人网站服务器
  • 网站开发工程师岗位概要网站怎么制作教程
  • 城乡建设主管部门官方网站公司简介模板ppt范文
  • 网站认证必须做么cc0图片素材网站
  • net域名 著名网站国外设计案例网站
  • 淘宝客网站哪里可以做app地推网
  • 宜昌建设厅网站中国最新时事新闻
  • 微网站怎么开发wordpress 发表评论
  • 山东网站建设是什么一页网站首页图如何做
  • 游戏开发与网站开发哪个难万网影
  • 做网站编程语言建筑施工特种证书查询
  • 找人做网站内容自己编辑吗修改wordpress登陆界面
  • 登陆建设银行wap网站湖南网站建设磐石网络答疑
  • 58网站怎么做浏览度才高论坛网站怎么做排名
  • wordpress 手机网站支付京东网站建设的经费预算
  • 自己怎么样做游戏网站做海外贸易网站
  • 建立什么样的网站好制作网页网站代码
  • 岳麓区专业的建设网站公司尚一网常德论坛
  • 电商网站建设实训报告360站长平台链接提交
  • 个性化网站建设公司个人网站备案类型
  • 腾讯建站模板上海网站开发有限公司
  • 网站和小程序的区别请问做网站怎么赚钱
  • 网站logo设计免费版在线网站开发建设准备工作
  • wordpress多站点 主题南京做网站好的公司
  • 广州 门户seo到底是做什么的
  • 可以登录国外网站吗如何用家用电脑做网站