acl 3.0.11版本發(fā)布了,acl 是Advanced C/C++ library 的簡(jiǎn)稱,主要包括網(wǎng)絡(luò)通信庫(kù)以及服務(wù)器框架庫(kù)等功能;在 acl 首次參加的“2013年度中國(guó)優(yōu)秀開(kāi)源項(xiàng)目評(píng)比”中,也獲得了366票的支持,排名 26。
項(xiàng)目地址:https://sourceforge.net/projects/acl/
acl 包括以下豐富的常用函數(shù)庫(kù):
常見(jiàn)網(wǎng)絡(luò)應(yīng)用庫(kù): SMTP 客戶端庫(kù)/PING 庫(kù)/memcache 客戶端庫(kù)/handlersocket 客戶端庫(kù)/beanstalk 客戶端庫(kù)
HTTP 網(wǎng)絡(luò)庫(kù):HTTP 客戶端/服務(wù)端庫(kù),C++版 HttpServlet 類,HTTP COOKIE/HTTP SESSION 等
郵件解析庫(kù):mime解析庫(kù)/RFC2047/RFC2048/mime base64/mime qp/mime uucode 等
網(wǎng)絡(luò)通信庫(kù):阻塞/非阻塞網(wǎng)絡(luò) IO 庫(kù)
服務(wù)器框架:包括進(jìn)程池模式、線程池模式、非阻塞模式及觸發(fā)器模式
事件引擎:支持 select、poll(for unix)、epoll(for linux)、kqueue(for bsd)、devpoll(for solaris)、iocp(for win32)、win32 窗口消息(for win32)事件引擎
通用連接池庫(kù):高效的連接池基礎(chǔ)類庫(kù),支持豐富的功能
數(shù)據(jù)庫(kù)客戶端庫(kù):對(duì)原生的數(shù)據(jù)庫(kù)客戶端庫(kù)進(jìn)行了二次封裝,使編程更為簡(jiǎn)易,功能更為豐富
xml/json 流式解析庫(kù):區(qū)別于網(wǎng)上其它已有的 xml/json 解析庫(kù),acl 中的 xml/json 解析庫(kù)采用有限狀態(tài)機(jī)方式解析數(shù)據(jù),處理方式更為靈活
此次新版發(fā)布除了修復(fù)了已知的 BUG 外,主要提供了通用的連接池基礎(chǔ)庫(kù),內(nèi)容如下:
1. lib_acl
feature:master 框架允許以非 root 身份啟動(dòng),需要用戶修改 acl_master 的配置文件 main.cf,添加 set_ugid = 0,默認(rèn)情況下該值為 1
bugfix:acl_json_util.c::json_escape_append, acl_json_parse::json_tag中需要對(duì)特殊控制字符做轉(zhuǎn)義處理(目前在解析時(shí)暫不支持 \u 的情況)
bugfix:acl_json_util.c::json_escape_append 中不應(yīng)將 “{}[]” 這些字符作為特殊字符而轉(zhuǎn)義