摘要: timerqueue类: 说明: 为什么要引用timerqueue类? 再来看一下现在reactor模型的时序图 eventloop::loop() { eventloop::poller::poll() { ::poll();获取发生了网络事件的套接字 poller::fillActiveChan 阅读全文
posted @ 2020-09-01 23:59 WoodInEast 阅读(234) 评论(0) 推荐(0) 编辑
摘要: channel类: 说明: 为了更好地管理channel,在channel中添加一些额外的成员变量/函数。使其和muduo源码一致 channel.h: #ifndef CHANNEL_H #define CHANNEL_H #include"base/noncopyable.h" #include 阅读全文
posted @ 2020-09-01 20:43 WoodInEast 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 简介: 用eventloop,poller和channel共同完成一个最简单的reactor模型。 注意本文超级长(介绍了三个类,channel,poller和eventloop,用他们实现一个最基本的reactor模型) //这是一个正常的IO复用模型结构,以poll为例子while(1) { p 阅读全文
posted @ 2020-09-01 19:09 WoodInEast 阅读(330) 评论(0) 推荐(0) 编辑
摘要: eventloop类: 作用: 我们在利用IO复用例如epoll构建服务器的时候,最基本的做法: epoll_create(); while(1) { epoll_wait(); handleEvent(); } 如果向上面那样写的话,随着服务器功能要求增多,那个循环体肯定越来越大,代码难以理解与维 阅读全文
posted @ 2020-09-01 15:26 WoodInEast 阅读(278) 评论(0) 推荐(0) 编辑