a light weight network develop library refers to ACE
增加一个python版的实现 pyndk
Notes:
1. 最好用svn取最新的代码.
Changelogs:
1. 增加多反应器
这是一个多反应器容器,接口派生自ReactorImpl,它也算做是一种反应器,只是通过外部接口将事件处理器自动均匀地分配到各个工作反应堆中.
2. 新增一个日志服务.
特点:
1). 可以在运行时更改配置并生效.
2). 可以为每个模块定制一个日志.
3). 模块可以有继承关系.日志策略也可以继承.
4). 可以根据小时/天/周 来生成日志文件.
5). 可以限制单个日志文件大小
6). 日志文件可以根据轮转法备份.
7). 支持C语言风格的字符串格式化和C++标准流输出格式的字符串格式化.
8). 方法TRACE可以根据日志缩进, 清晰的显示出函数的调用栈.
3. 增加EpollProactor.
用epoll模拟出来的异步I/O. 用于windows平台的切换. 正在增加对windows平台的支持.
4. 增加MemoryPool.
特点:
1). 基于slab思想,预先分配N个大块内存,支持变长内存管理。
2). 分配效率相比general new/delete能提高75%.
Bugs:
1. EpollTPReactor 采用边缘触发模式, 但目前还存在多个线程同时得到可读事件的问题.(已废除)
2. MultiReactors当处理第二个连接时会崩溃.(已解决)