文件名称:unet:一个非阻塞的C++多线程网络库
文件大小:6.56MB
文件格式:ZIP
更新时间:2024-05-20 13:36:41
C++
unet 一个非阻塞多线程网络编程框架的简易实现,整体使用事件进行驱动。 本次是第三次重构,修改了事件处理的方式 unet的大体架构: 底层: 描述:封装最底层的系统调用,大多数使用RAII手法管理资源 规划:随着编程经验的增加,可以在保留接口不变的情况下修改内部资源 构件组成: Alloc:创建一个内存池,用以维护LogBuffer与UserbBuffer,在Log或者TcpConnection需要内存时,无需陷入系统调用 Buffer:维护UsrBuffer,在初始时,将4个UsrBuffer使用链表连接起来,使用readv与writev的方式来操作缓冲区,减少在Buffer需要扩张时的数据copy Condition:封装条件变量,存在即初始化 InetAddress:封装IPV4地址与IPV6地址(暂时没用到) RDMutex,Mutex,SpinLock:使用存在即初始化,离开即