与网络异步IO关联的类有5个:
[libkfsIO/NetManager.h] clsss NetManager;
[libkfsio/NetConnection.h] class NetConnection;
[libkfsio/NetConnection.h] class NetConnection::NetManagerEntry;
[libkfsio/TcpSocket.h] class TcpSocket;
[libkfsio/Acceptor.h] class Acceptor;
其中Acceptor负责监听端口和接受新的连接,TcpSocket是对网络套接字的封装;NetConnection是异步事件回调的封装,它连接了TcpSocket与NetManager,所有的异步IO操作都通过NetConnection发起;NetManager管理所有的NetConnection,并提供定时器的支持;NetManagerEntry是联系NetConnection与NetManager的纽带,记录了NetManager与NetConnection共同关心的信息。
Acceptor接收到新的连接后会新建一个TcpSocket对象和NetConnection对象,接着把NetConnection对象添加到NetManager,由NetManager管理。
NetManager通过epoll模型管理收到的链接。