【Muduo源码分析1】总体框架+变乱循环机制
文章中不免有错误之处,如若发现,恳请指正,感恩不尽!muduo库变乱循环机制总体实现逻辑明白
主从Reactor之间交互
[*]主Reactor重要负责吸收新毗连哀求,然后将该毗连发送给从Reactor举行处置惩罚
[*]从Reactor则是监听主Reactor交付给它的哀求,然后对其举行处置惩罚
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNzkxMTEzNDc2ZGRkNDMzNDg5ZGEyOWNjMGI5OWZiNzIucG5n
单个Reactor实行逻辑
[*]EventLoop不停调用poll来监听多个文件形貌符的变乱
[*]当poll检测到某个文件形貌符上变乱发生的时间,会关照EventLoop
[*]EventLoop根据变乱找到对应的Channel,然后通过Channel预先注册好的回调函数,来处置惩罚对应的变乱
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMTM2MDEzNjliNWYxNDIwYWFkMTE4YWM5YWQxNjY3MzYucG5n
新毗连与Channel的关系
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvZmMxODczNjMzZjg2NDQ2OThlZGNmOWUwYjYyMmY5ZDQucG5n
总体架构
代码分析范围
https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvYWFhNzQ1ODFlZTRmNGViZjg4NmE0ZDA4NWFhZjg5ODIucG5n
各模块的重要功能
[*]EventLoop 管理变乱循环,调理各类变乱的处置惩罚。
[*]Poller 监听并管理全部的I/O变乱。
[*]Channel 将详细的文件形貌符与变乱处置惩罚函数关联起来。
各模块逻辑分析
EventLoop模块
变乱循环的核心模块,重要负责变乱的启动和维护变乱循环的运行,处置惩罚差别的变乱,该模块管理着poller和Channel模块。
核心成员函数和变量
class EventLoop : noncopyable
{
public:
typedef std::function<void()> Functor;
EventLoop();
~EventLoop();
void loop();
void quit();
void runInLoop(Functor
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页:
[1]