- 重构构建系统
- 增加代码规范工具
- 重构CI配置
这是一个比较大规模的重构,并且协议层向前不兼容,API除协议数据读取外基本兼容
- 移除对msgpack的依赖,使用protobuf作为内部交互协议
- 增加access_token的支持,防止误操作
- 增加subnet功能,可以支持自身node的id不在自己管理的子节点集合中
- 重构父节点范围管理的结构,现在更清晰易懂一些
- 增加(共享)内存通道的版本号功能,增加协议版本号功能,用于跨版本兼容性检查
- 连接层面也增加错误计数,如果超出容忍值直接断开连接
- 支持字符串路径的共享内存(使用:
shm_open/ftruncate/mmap/munmap/shm_unlink/close/fstat
来管理),支持字符串命名的共享内存(长度限定为NAME_MAX(255)) - 增加大量错误流程的单元测试,优化Unix Sock的单元测试
- 优化工程脚本,逐步使用Modern CMake规范管理依赖链。
- 增加对符号隐藏、符号导出和Windows下dll的支持。现在GCC/Clang/MSVC使用相同的符号可见性和导出规则。
- 规范版本号规则:第一位变化表示有向前不兼容的变更;第二位表示有功能增加,向前兼容,第三位表示BUG修复和优化
- 增加协议版本号机制,用于多个由atbus版本组成的系统中,可以根据最低要求版本号和当前版本号来决定是否互联(比如新的atproxy中不再会尝试连接不支持的版本)
第一个线上使用过的版本