acl 3.0.11版本发布了,acl 是Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能;在 acl 首次参加的“2013年度中国优秀开源项目评比”中,也获得了366票的支持,排名 26。
项目地址:https://sourceforge.net/projects/acl/
acl 包括以下丰富的常用函数库:
常见网络应用库: SMTP 客户端库/PING 库/memcache 客户端库/handlersocket 客户端库/beanstalk 客户端库
HTTP 网络库:HTTP 客户端/服务端库,C++版 HttpServlet 类,HTTP COOKIE/HTTP SESSION 等
邮件解析库:mime解析库/RFC2047/RFC2048/mime base64/mime qp/mime uucode 等
网络通信库:阻塞/非阻塞网络 IO 库
服务器框架:包括进程池模式、线程池模式、非阻塞模式及触发器模式
事件引擎:支持 select、poll(for unix)、epoll(for linux)、kqueue(for bsd)、devpoll(for solaris)、iocp(for win32)、win32 窗口消息(for win32)事件引擎
通用连接池库:高效的连接池基础类库,支持丰富的功能
数据库客户端库:对原生的数据库客户端库进行了二次封装,使编程更为简易,功能更为丰富
xml/json 流式解析库:区别于网上其它已有的 xml/json 解析库,acl 中的 xml/json 解析库采用有限状态机方式解析数据,处理方式更为灵活
此次新版发布除了修复了已知的 BUG 外,主要提供了通用的连接池基础库,内容如下:
1. lib_acl
feature:master 框架允许以非 root 身份启动,需要用户修改 acl_master 的配置文件 main.cf,添加 set_ugid = 0,默认情况下该值为 1
bugfix:acl_json_util.c::json_escape_append, acl_json_parse::json_tag中需要对特殊控制字符做转义处理(目前在解析时暂不支持 \u 的情况)
bugfix:acl_json_util.c::json_escape_append 中不应将 “{}[]” 这些字符作为特殊字符而转义