FAS 是一个 C++ 基于 epoll,poll 的 IO 复用的 Reactor 模型服务器框架
首先应该感谢muduo的作者,写完muduo并为它出了一本书供大家学习,书里面作者总结了线程间数据通信的高效方式,以及C++编程中应该注意的很多细节,看完之后使我受益匪浅,但在学习的muduo的过程中,感觉muduo不太符合自己使用习惯,每当尝试修改一下代码使用方式,都要修改很多不少类,于是根据自己的编程习惯,借鉴muduo思想重写了一个网络框架–FAS,FAS已经实现了muduo核心的大多数模块。
FAS的核心代码(注释除外)3500行左右,注释比较详细,类与类之间的关联程度比较低,类更加细化,功能更加集中,模块性更强,对外提供的接口更加统一简单容易记,借鉴muduo中很多高效的线程交互机制,程序的可修改性更强。在重写过程中修复了muduo长期存在的不能0延时polling的小bug。