Hunt 是一个D语言标准库扩展库,相当于 C++ 中的 boost,核心主要实现事件驱动的网络IO基础库,支持 epoll、iocp、kqueue,拥有优秀的IO性能和友好的API。
此外,它还提供了纯 DLang 实现的 Java 的容器类型和并发模块;提供了 logging、json与对象绑定等常用模块,以及多个工具类,如DataTimeHelper、Timer、MimeType、Configuration、UnitTest等。很多 HuntLabs 研发的框架都依赖这个核心库。
主要更改
进一步增强了网络IO模块在各平台下的稳定性;增减了部分核心模块及容器模块的API;
改进了如 JSON 序列化、values成员生成等模块的实现。
详细更改内容
- 改进IOCP封装,修复Windows平台下部分数据重复发送的问题;
- 修正析构函数再次调用带GC操作,导致APP内存随机出错的问题;
- Map类型添加clone接口;
- 基于最新的DMD标准库,改进了原子操作getAndSet的实现;
- 增强JSON序列化操作,支持更复杂的类型结构,并完善了单元测试;
- 改进混入模板ValuesMemberTempate的实现,保证values成员的线程安全及延迟初始化;
- 加强了TcpStream模块的异常捕捉,更好地记录跨线程异常;
- 添加Ignore等更多注解到UnitTest;
- 移除不常使用到的Radix模块;
- Float和Double模块新增多个API,并修复部分bug;
- 改进了调试日志信息提示,力求更准确地描述出错内容。
编译器要求
建议 dmd 2.088+