acl/lib_acl_cpp/changes.txt

1975 lines
71 KiB
Plaintext
Raw Normal View History

2014-11-19 00:25:21 +08:00
<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>
-----------------------------------------------------------------------
447) 2016.10.31
447.1) bugfix: redis_string::incrbyfloat <20><> redis_hash::hincrbyfloat <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_string <20><><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>⣬Ӧ<E2A3AC><D3A6>ʹ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> bool ֵ
2016-10-27 21:25:14 +08:00
446) 2016.10.26
446.1) bugfix: redis_zset.cpp <20>еڶ<D0B5><DAB6><EFBFBD> zrevrangebyscore_with_scores <20><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>
445) 2016.10.24
445.1) bugfix: db_handle::peek_open <20><><EFBFBD><EFBFBD><EFBFBD>еIJ<D0B5><C4B2><EFBFBD> charset û<><C3BB><EFBFBD><EFBFBD>Ч
444) 2016.10.21
444.1) bugfix: HttpServletRequest.cpp <20>еķ<D0B5><C4B7><EFBFBD> getLocalPort <20>޷<EFBFBD>ȡ<EFBFBD>ñ<EFBFBD><C3B1>ض˿<D8B6>
444.2) feature: fstream <20><><EFBFBD>·<EFBFBD><C2B7><EFBFBD> rename <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8>ļ<EFBFBD><C4BC><EFBFBD>
443) 2016.10.20
443.1) bugfix: websocket <20><><EFBFBD>еĺ<D0B5><C4BA><EFBFBD> read_frame_head <20><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD><EFBFBD>ֶ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
<EFBFBD>ֽ<EFBFBD>ʱ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> short <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<D2AA><CAB9> ntohs <20><><EFBFBD><EFBFBD> ntohl <20><>ת<EFBFBD><D7AA>
442) 2016.10.14
442.1) feature: gson C++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>֧<EFBFBD>ַ<EFBFBD> C++11 ģʽ
441) 2016.10.13
441.1) bugfix: json_node <20><><EFBFBD>е<EFBFBD> get_text <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 0 ʱӦ<CAB1>÷<EFBFBD><C3B7>ؿմ<D8BF> ""
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD> NULL <20><>ָ<EFBFBD><D6B8>
441.2) feature: gson <20><><EFBFBD>л<EFBFBD>ģ<EFBFBD><C4A3>֧<EFBFBD><D6A7> struct <20>еij<D0B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>ֱ<EFBFBD>ӳ<EFBFBD>ʼ<EFBFBD><CABC> -niukey@qq.com
440) 2016.10.10
440.1) featur: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> add_null/add_array_null <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> null <20><><EFBFBD>ͽڵ<CDBD>
2016-10-08 22:11:25 +08:00
439) 2016.10.8
439.1) feature: <20><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>ϵ<EFBFBD>л<EFBFBD>ģ<EFBFBD><C4A3> gson <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> struct <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>Ϊ json
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>Ϊ struct <20><><EFBFBD><EFBFBD>
438) 2016.10.7
438.1) bugfix: json.cpp <20><><EFBFBD>ж<EFBFBD> json <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>͵ķ<CDB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-09-20 19:55:38 +08:00
437) 2016.9.17 -- 9.19
437.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> websocket <20><>
436) 2016.9.7
436.1) bugfix: istream.cpp <20>еĺ<D0B5><C4BA><EFBFBD> gets <20>ڵ<EFBFBD><DAB5><EFBFBD> acl_vstream_gets <20><>
acl_vstream_gets_nonl <20><><EFBFBD>жϱ<D0B6>־λ ACL_VSTREAM_FLAG_TAGYES <20>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
435) 2016.8.31
435.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SHA1 <20><> sha1
-----------------------------------------------------------------------
2016-08-23 13:20:33 +08:00
434) 2016.8.23
434.1) bugfix: json_node::set_text <20>жϽڵ<CFBD><DAB5>Ƿ<EFBFBD>ΪҶ<CEAA>ڵ<EFBFBD><DAB5>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
433) 2016.8.14
433.1) feature: Makefile <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EEA3BA><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>ʱ<EFBFBD><CAB1> make polarssl=on
<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD> POLARSSL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ
432) 2016.7.29
432.1) feature: mime <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_plain_body/get_html_body <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ͬ<EFBFBD><CDAC><EFBFBD>͵<EFBFBD>
432.2) feature: json <20><><EFBFBD>Ӷ<EFBFBD> double <20><><EFBFBD>͵<EFBFBD>֧<EFBFBD><D6A7>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-07-09 21:58:21 +08:00
431) 2016.7.7
431.1) bugfix: mime::body_node ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
430) 2016.6.7
430.1) bugfix: string <20><>Ӧ<EFBFBD><D3A6>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD>
2016-05-30 14:09:38 +08:00
429) 2016.5.30
429.1) safety: string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>ȫ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
2016-05-10 21:58:47 +08:00
428) 2016.5.10
428.1) bugfix: http_request <20><><EFBFBD><EFBFBD>get_body<64><79><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD> ps Ϊ<>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>ʹ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD>
427) 2016.5.5
427.1) feature: xml/xml1/xml2 <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> update <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD>
426) 2016.5.2
426.1) bugfix: http ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>õĶ<C3B5><C4B6><EFBFBD>ʱ<EFBFBD><CAB1> stream <20>Ķ<EFBFBD><C4B6><EFBFBD>ʱ<EFBFBD><CAB1>ͻ
2016-04-30 11:49:41 +08:00
425) 2016.4.27
425.1) feature: http_header <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> set_url <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD> encoding<6E><67><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ƿ<EFBFBD><EFBFBD>Գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> url <20>еIJ<D0B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> url <20><><EFBFBD><EFBFBD>
425.2) feature: dbuf_guard <20><EFBFBD><E0BDAB><EFBFBD><EFBFBD> dbuf_obj <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
424) 2016.4.26
424.1) feature: xml/xml1/xml2 <20>ڽ<EFBFBD><DABD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC> dbuf <20>IJ<EFBFBD><C4B2><EFBFBD>
423) 2016.4.19
423.1) bugfix: thread <20><><EFBFBD>У<EFBFBD><D0A3>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>̺߳<DFB3><CCBA><EFBFBD> thread_id_ <20><>ֵʱ<D6B5><CAB1><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD>Ϊ<EFBFBD>߳<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-----------------------------------------------------------------------
2016-04-16 17:58:56 +08:00
422) 2016.4.16
422.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC2012 ʹ<><CAB9> x64 <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EBBEAF>
2016-04-14 22:39:11 +08:00
421) 2016.4.14
2016-04-15 09:45:07 +08:00
421.1) feature: string <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> split/split2<74><32><EFBFBD><EFBFBD> lib_acl C <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ַ<EFBFBD><D6B7><EFBFBD>)<29><><EFBFBD>з<EFBFBD>װ
2016-04-14 22:39:11 +08:00
420) 2016.4.6
420.1) feature&safety: redis_command::run <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD> used_ > 0 ʱ<><CAB1>ǿ<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD> clear
<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD>ϴβ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD> clear
419) 2016.4.2
419.1) feature: redis_server <20><><EFBFBD><EFBFBD><EFBFBD>ӽӿ<D3BD> info <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
2016-04-01 23:08:26 +08:00
418) 2016.4.1
418.1) feature: redis_command <20><>֧<EFBFBD><D6A7>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>װ redis Э<>ʽ
2016-04-01 09:36:18 +08:00
417) 2016.3.30
417.1) bugfix: session::set_ttl <20><><EFBFBD><EFBFBD> redis <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>⣬ȥ<E2A3AC><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sid_saved_ <20><><EFBFBD>ж<EFBFBD>
416) 2016.3.24
416.1) safety: master_threads <20><><EFBFBD>е<EFBFBD> service_main <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ӧ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD> true ʱ<><CAB1>
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>õķ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ĺرչ<EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD>ֹӦ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2016-03-19 22:05:46 +08:00
415) 2016.3.18
415.1) bugfix: json <20><><EFBFBD>е<EFBFBD> reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ json <20><> C <20><>
<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD> root <20>ڵ㣬<DAB5><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8> root <20>ڵ<EFBFBD>
414) 2016.3.17
414.1) bugfix: redis_client_cluster <20><><EFBFBD>е<EFBFBD> set_password <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD>Ⱥ<EFBFBD>нڵ<D0BD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD>Ⱥ<EFBFBD>ڵ<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>(set)<29><>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
413) 2016.3.16
413.1) feature: queue_file::create <20>ڲ<EFBFBD><DAB2><EFBFBD>Ψһ ID ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>̺<EFBFBD>
<EFBFBD>Ա<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>鵱ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>
412) 2016.3.11
412.1) bugfix: json_node::is_array <20>жϷ<D0B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
411) 2016.3.9
411.1) feature: HttpServletRequest::getParameter <20>ڲ<EFBFBD><DAB2>Ҳ<EFBFBD><D2B2><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>Сд
410) 2016.3.5
410.1) feature: db/query <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD> sql <20>Ľӿ<C4BD> create
2016-03-01 20:20:52 +08:00
409) 2016.2.29
409.1) <20>ӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_threads <20><><EFBFBD><EFBFBD> master_threads2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
408) 2016.2.26
408.1) feature: master_threads2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD>ӿ<EFBFBD>
407) 2016.2.18
407.1) feature: xml/xml1/xml2 <20><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ xml <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD>ݣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷdz<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ƚ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
406) 2016.2.17
406.1) feature: session/redis_session/HttpSession <20><EFBFBD><E1BBB0><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><D3B9>ܽӿ<DCBD>
405) 2016.2.13
405.1) compile: ʹ<><CAB9>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>Ż<EFBFBD> g++ <20><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
404) 2016.2.6
404.1) bugfix: zlib_stream <20><><EFBFBD>ж<EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>ռ<EFBFBD><D5BC>ķ<EFBFBD><C4B7><EFBFBD>Ӧ<EFBFBD><D3A6> string <20><>ƥ<EFBFBD><C6A5>
403) 2016.1.31
403.1) feature: string <20><>֧<EFBFBD><D6A7><EFBFBD>ڴ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ڴ棬<DAB4>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD>
403.2) samples: string/string5, <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ڴ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD>
403.3) feature: xml/xml1/xml2 ֧<><D6A7>ʹ<EFBFBD><CAB9> dbuf_guard <20><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ʹ<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
402) 2016.1.27
402.1) bugfix: charset_conv <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> update<74><65><EFBFBD><EFBFBD> m_addInvalid Ϊ false<73><65>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
402.2) performance: mime_state_parse.cpp <20>е<EFBFBD> mime_bound_body <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>˴<EFBFBD><CBB4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
401) 2016.1.22
401.1) feature: HttpServlet <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>Ӧ<EFBFBD><D3A6>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>(req_/res_)<29><><EFBFBD>Ա<EFBFBD><D4B1>ڽ<EFBFBD>
<EFBFBD><EFBFBD>ȡ HTTP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
401.2) bugfix: connect_manager <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD> set_check_inter/set_idle_ttl
400) 2016.1.15
400.1) feature: redis <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
399) 2016.1.11
399.1) feature: fstream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD> remove <20><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ļ<EFBFBD>
398) 2016.1.6
398.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_guard <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ͷŴ<CDB7><C5B4><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
397) 2016.1.5
397.1) feature: db_handle/db_mysql <20><><EFBFBD>ڽ<EFBFBD><DABD>в<EFBFBD>ѯǰ<D1AF><C7B0><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ϴεIJ<CEB5>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
396) 2016.1.4
396.1) feature: mime.cpp, mime_head.cpp ֧<>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD> Content-Type <20><><EFBFBD><EFBFBD>
395) 2016.1.3
395.1) bugfix: db_mysql.cpp <20>е<EFBFBD><D0B5><EFBFBD> __mysql_open ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ʱӦ<CAB1>ж<EFBFBD>
ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ NULL
-----------------------------------------------------------------------
394) 2015.12.29
394.1) bugfix: redis_key <20><><EFBFBD>е<EFBFBD> type <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> hash <20><><EFBFBD><EFBFBD>
393) 2015.12.28
393.1) bugfix: <20><> xml1, xml2 <20>еĺ<D0B5><C4BA><EFBFBD> getFirstElementByTag <20>ڲ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ж<EFBFBD> NULL
393.2) bugfix: ȡ<><C8A1><EFBFBD><EFBFBD> http_request <20><><EFBFBD>е<EFBFBD> acl_assert(client_) <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
392.1) 2015.12.25
392.1) bugfix: dbuf_guard <20><>Ӧ<EFBFBD><D3A6>ֹ<EFBFBD><D6B9><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> create <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dbuf_guard <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class myobj : public acl::dbuf_obj
{
public:
myobj(acl::dbuf_guard& dbuf) : dbuf_(dbuf) {}
~myobj(void) {}
};
acl::dbuf_guard dbuf;
myobj* obj = dbuf.create<myobj, acl::dbuf_guard>(dbuf);
<EFBFBD><EFBFBD>Ȼ myobj <20><><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD> create ʱ<>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dbuf <20>ڵĻ<DAB5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷţ<CDB7><C5A3><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ǽ<EFBFBD>ֹ dbuf_guard <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>
2015-12-22 10:37:01 +08:00
391.1) 2015.12.22
391.1) compile: polarssl_io.cpp <20>н<EFBFBD> sys_read_ready <20><><EFBFBD><EFBFBD>Ϊ read_ready
2015-12-20 15:27:55 +08:00
390) 2015.12.20
390.1) feature: aio_handle <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
2015-12-19 12:08:14 +08:00
389) 2015.12.18
389.1) bugfix: http_request <20><><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD> request <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷽷<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
389.2) feature: http_header <20><><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD> get_method <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>󷽷<EFBFBD>
2015-12-14 22:37:46 +08:00
388) 2015.12.14
388.1) bugfix: xml1/xml2 <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> reset Ӧ<>ý<EFBFBD> root_ <20>ڵ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
acl_xml_reset/acl_xml2_reset <20><> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> root <20>ڵ㱻<DAB5>ͷţ<CDB7><C5A3><EFBFBD>ʱ root_ <20>ڵ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĸ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-12-12 23:00:03 +08:00
387) 2015.12.9
387.1) bugfix: db_mysql <20><><EFBFBD>У<EFBFBD><D0A3>ڳ<EFBFBD>ʼ mysql <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ libmysqlclient <20><><EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> mysql_thread_init <20><>ʼ<EFBFBD><CABC>ÿ<EFBFBD><C3BF><EFBFBD>̵߳<DFB3><CCB5>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>˳<EFBFBD>ǰ<EFBFBD><C7B0>
<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD>ֲ߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD>̻߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD> db_mysql <20><><EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>˳<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysql_thread_end <20><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>Щ<EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD>
386) 2015.12.7
386.1) feature: xml_node <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽӿ<D3BD> detach <20><><EFBFBD>ڽ<EFBFBD>һ<EFBFBD><D2BB> xml <20>ڵ<EFBFBD><DAB5><EFBFBD> xml <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>
385) 2015.12.3
385.1) feature: xml2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
385.2) bugfix: polarssl_io::read <20>е<EFBFBD> ssl_read <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD><DDBA><EFBFBD>Ӧ<EFBFBD><D3A6>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
ssl_get_bytes_avail <20>ж<EFBFBD> SSL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACL_VSTREAM::sys_read_ready <20><>־λ
384) 2015.12.2
384.1) <20>ӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD>redis <20>ӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ʹ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
384.2) feature: <20><> xml2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ڴ<EFBFBD><DAB4>ļ<EFBFBD>ӳ<EFBFBD>ʽ<E4B7BD><CABD><EFBFBD><EFBFBD>
<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀǰ<C4BF><C7B0>֧<EFBFBD><D6A7> UNIX<49><58>
383) 2015.11.30
383.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml1.cpp/xml1.hpp <20>Ա<EFBFBD><D4B1><EFBFBD>֧<EFBFBD>ֵ<EFBFBD>һ<EFBFBD><D2BB> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
383.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml2.cpp/xml2.hpp <20>Ա<EFBFBD><D4B1><EFBFBD>֧<EFBFBD>ֵڶ<D6B5><DAB6><EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
382) 2015.11.26
382.1) bugfix: redis_zset::zstore <20><><EFBFBD>ж<EFBFBD> aggregate ʱ<><CAB1><EFBFBD><EFBFBD>
381) 2015.11.24
381.1) feature: http_request/http_request_pool/http_request_manager <20><>֧<EFBFBD><D6A7>
SSL ͨ<>ŷ<EFBFBD>ʽ
380) 2015.11.23
380.1) bugfix: zlib_stream <20><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD> zlib1.dll <20><>ʱ<EFBFBD><CAB1>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD> deflateInit2<74><32>
<EFBFBD><EFBFBD>Ӧ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD> deflateInit2_ <20><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ϊ deflateInit2 ֻ<><D6BB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><E5A3AC>
deflateInit2_ <20><><EFBFBD>Ƕ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>ַ
379) 2015.11.20
379.1) feature: url_coder <20><><EFBFBD>̳<EFBFBD><CCB3><EFBFBD> dbuf_obj <20>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD> dbuf_guard <20><><EFBFBD><EFBFBD>
379.2) bugfix: dbuf_guard <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> dbuf_reset ʱӦ<CAB1><D3A6><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
379.3) bugfix: dbuf_guard <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> dbuf_keep <20>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>
378<EFBFBD><EFBFBD> 2015.11.18
378.1<EFBFBD><EFBFBD> bugfix: istream::readtags <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
377) 2015.11.16
377.1) feature: dbuf_guard <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E5BAAF> create<74><65><EFBFBD>ɸ<EFBFBD><C9B8>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>κμ̳<CEBC>
<EFBFBD><EFBFBD> dbuf_obj <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --- Thank @<40><>īˮ<C4AB><CBAE>
376) 2015.11.14
376.1) feature: dbuf_guard <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><E0B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ͬʱʹ<CAB1><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>
<EFBFBD>ڴ<EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>
376.2) safety: dbuf_guard <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> dbuf_obj <20><><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
375) 2015.11.13
375.1) feature: <20><><EFBFBD>ӳ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>򻯽ӿ<F2BBAFBD><D3BF><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>ӳ<EFBFBD>ʱ
<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱʱ<EFBFBD><EFBFBD>Ӷ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>ӳؼ<EFBFBD>Ⱥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>ͬ<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD>ͬ<EFBFBD>ij<EFBFBD>ʱʱ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
374) 2015.11.12
374.1) feature: http_request_manager <20>Ĺ<EFBFBD><C4B9><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʱʱ<CAB1><CAB1>
<EFBFBD><EFBFBD> IO <20><>д<EFBFBD><D0B4>ʱʱ<CAB1><CAB1>
374.2) bugfix: <20>޸<EFBFBD><DEB8><EFBFBD> dbuf_obj <20><><EFBFBD><EFBFBD><ECBAAF><EFBFBD>е<EFBFBD> BUG<55><47>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD> nrefer_ <20><>ʼ<EFBFBD><CABC>Ϊ 0
373) 2015.11.11
373.1) bugfix: mail_message <20><><EFBFBD>е<EFBFBD> append_addrs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BUG
372) 2015.11.10
372.1) bugfix: redis_command <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> build <20><><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱӦ<CAB1><D3A6>֧<EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>Ƹ<EFBFBD>ʽ
372.2) feature: dbuf_obj <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> nrefer_<72><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dbuf_guard <20><><EFBFBD>а<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD>ֹ<EFBFBD><D6B9>
dbug_guard <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8>ͷ<EFBFBD>
2015-11-09 22:11:21 +08:00
371) 2015.11.7
371.1) feature: dbuf_pool.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD> dbuf_guard <20><><EFBFBD>ڴ<EFBFBD><DAB4>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD>
dbuf_obj<EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> dbuf_pool <20>ڴ<EFBFBD><DAB4><EFBFBD>
371.2) feature: dbuf_pool <20><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD> new <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
370) 2015.11.3
370.1) feature: url_coder <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> dbuf_pool <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
370.2) feature: string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD> equal <20><><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD> string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
369) 2015.11.1
369.1) workaround: <20><><EFBFBD><EFBFBD> json_node <20><>
368) 2015.10.28
368.1) performance: http ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࣨHttpCookie, http_header, HttpServlet,
HttpServletRequest, HttpServerResponse<73><65>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>(dbuf_pool)<29><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
368.2) feature: dbuf_pool::dbuf_reset <20><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD> reserve<76><65><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
ʱ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
367) 2015.10.27
367.1) bugfix: HttpServletRequest <20><><EFBFBD>з<EFBFBD><D0B7><EFBFBD> readHeader <20><><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>
getContentLength ʱ<><CAB1><EFBFBD><EFBFBD> -1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_mymalloc((size_t) len + 1)
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> getContentLength <20><><EFBFBD><EFBFBD> -1ʱ<31><CAB1>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
366) 2015.10.25
366.1) bugfix: db_mysql <20><><EFBFBD>ڲ<EFBFBD><DAB2>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>û<EFBFBD><C3BB>ʹ<EFBFBD>ó<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱʹ<CAB1>õ<EFBFBD><C3B5>ַ<EFBFBD><D6B7><EFBFBD>
366.2) <20>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EBA3AC>ʹ<EFBFBD><CAB9> dbopen ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫָ<D2AA><D6B8><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
2015-10-20 21:07:23 +08:00
365) 2015.10.19
365.1) feature: redis_client_cluster/redis_client_pool/redis_client ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>ʹ redis <20>ļ<EFBFBD>Ⱥģ<C8BA><C4A3>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>
364) 2015.10.8
364.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>[]<5D>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>õ<EFBFBD>һ<EFBFBD><D2BB>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
363) 2015.10.7
363.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD> getFirstElementByTagName<6D><65><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>е<EFBFBD>ƥ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ʱ<EFBFBD> getElementsByTagName <20><><EFBFBD><EFBFBD>
363.2) performance: xml::getFirstElementByTag ʹ<><CAB9> lib_acl <20><><EFBFBD><EFBFBD><EFBFBD>¼ӵĺ<D3B5><C4BA><EFBFBD>
acl_xml_getFirstElementByTagName<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>Ч<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD>
362) 2015.9.30
362.1) bugfix: string <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> strip <20><><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD> each Ϊ false ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
362.2) feature: string <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> strip <20><><EFBFBD><EFBFBD>дʱ<D0B4><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
362.3) feature: mail_attach <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD> set_filename
361) 2015.9.29
361.1) bugfix: string <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> strip <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>еIJ<D0B5><C4B2><EFBFBD> each Ϊ true ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
360) 2015.9.28
360.1) feature: json_node <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽ڵ<CBBD><DAB5><EFBFBD><EFBFBD>͵<EFBFBD><CDB5>жϷ<D0B6><CFB7><EFBFBD>
359) 2015.9.25
359.1) feature: http ģ<><C4A3><EFBFBD>е<EFBFBD> HttpServlet <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> doOther <20><><EFBFBD>ӿڣ<D3BF><DAA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֪<EFBFBD><EFBFBD> HTTP <20><><EFBFBD>󷽷<EFBFBD>
359.2) feature: smtp ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ʼ<EFBFBD><CABC>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
359.3) samples/mime/mail_builder: ʾ<><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
358) 2015.9.22
358.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĹ<CFB5><C4B9><EFBFBD>
357) 2015.9.21
357.1) bugfix<69><78><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>: <20><><EFBFBD>ӳػ<D3B3><D8BB><EFBFBD><EFBFBD><EFBFBD> connect_pool <20>еķ<D0B5><C4B7><EFBFBD> check_idle <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
exclusive Ϊ false ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>; <20><> BUG Ӱ<><D3B0><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
357.2) safety: string <20><><EFBFBD>еĺ<D0B5> MCP <20><><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>ȫ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>
356) 2015.9.18
356.1) feature: connect_pool/connect_manager <20><><EFBFBD>ӳؼ<D3B3><D8BC><EFBFBD><EFBFBD>ӳع<D3B3><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-09-16 21:03:02 +08:00
355) 2015.9.9
355.1) feature: smtp_client <20><><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>Էdz<D4B7><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD>ʼ<EFBFBD>
355.2) samples/smtp_client: <20><><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>͹<EFBFBD><CDB9><EFBFBD>
354) 2015.9.7
354.1) bugfix: geo_member::set_coordinate <20><><EFBFBD><EFBFBD><EFBFBD>þ<EFBFBD>γ<EFBFBD>ȵIJ<C8B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
354.2) bugfix: db_row::field_int64 ֮ǰʹ<C7B0>õĽ<C3B5><C4BD>ַ<EFBFBD><D6B7><EFBFBD>תΪ64λ<34><CEBB><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>32λ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬ͳһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_atoi64
354.3) feature: smtp ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ϳɵĹ<C9B5><C4B9><EFBFBD>
354.4) sample: mime_builder <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ϳɹ<CFB3><C9B9><EFBFBD>
354.5) bugfix: mime_stype_name <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>ʼλ<CABC>ò<EFBFBD><C3B2>Ǵ<EFBFBD> 0 <20><>ʼ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>±<EFBFBD>λ<EFBFBD>ü<EFBFBD>ȥ<EFBFBD><EFBFBD>ʼ<EFBFBD>±<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ܵõ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>ֵ
353) 2015.9.6
353.1) bugfix: redis_zset::zrangebyscore_get <20><><EFBFBD>е<EFBFBD> argc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
352) 2015.9.2
352.1) feature: <20><><EFBFBD><EFBFBD> smtp_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ͬʱ֧<CAB1><D6A7> SSL <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>
351<EFBFBD><EFBFBD>2015.8.31
351.1) compile: VC2010 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD> thread_queue <20><><EFBFBD><EFBFBD>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
351.2) feature: locker <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lock_guard <20><><EFBFBD>Ա<EFBFBD><D4B1>ڼ򻯼<DABC><F2BBAFBC><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
2015-08-26 20:45:40 +08:00
350) 2015.8.26
350.1) feature: string <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD> base64 <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \0 <20>Է<EFBFBD>ֹʹ<D6B9><CAB9><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
349) 2015.8.24
349.1) bugfix: redis_command/redis_key/redis_hash/redis_set/redis_zset <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻᷵<EFBFBD><EFBFBD> cursor Ϊ > 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
2015-08-22 18:05:46 +08:00
348) 2015.8.20
348.1) compile: zlib_stream <20><><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>˶<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD> zlib <20><><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD>
347) 2015.8.19
347.1) feature: db_handle/db_mysql ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
346) 2015.8.18
346.1) feature: http_client/http_request <20><><EFBFBD>ڶ<EFBFBD>ȡѹ<C8A1><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>ʹ<EFBFBD>ø<EFBFBD><C3B8>Ӷ<EFBFBD>
345) 2015.8.17
345.1) http_client gzip <20><><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
344) 2015.8.16
344.1) feature: http_client <20><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>Ӧ gzip ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD>
344.2) feature: HttpServletResponse <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ<CDB3><D2BB> http_client <20><><EFBFBD><EFBFBD>
343) 2015.8.15
343.1) bugfix: redis_string::incoper <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> INCR <20><> INCRBY, DECR <20><> DECRBY
<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
342) 2015.8.13
342.1) feature: http_ctype <20><>֧<EFBFBD>ֶ<EFBFBD><D6B6>󿽱<EFBFBD><F3BFBDB1><EFBFBD><EFBFBD><EFBFBD>
342.2) feature: HttpServletRequest <20><><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD> getContentType <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> http_ctype
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Content-Type <20>е<EFBFBD><D0B5><EFBFBD>Ϣ
342.3) feature: HttpServlet::doRun <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>һ<EFBFBD><D2BB> IO <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD> doError <20><><EFBFBD><EFBFBD>
342.4) feature: <20><><EFBFBD>Ӿ<EFBFBD>̬<EFBFBD><CCAC>ʽ log::debug_init <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>¼<EFBFBD>ӿ<EFBFBD>
2015-08-12 16:48:24 +08:00
341) 2015.8.12
341.1) mysql_manager: mysql <20><><EFBFBD>ӳؼ<D3B3>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysql_conf <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysql <20><><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
341.2) feature: mysql_manager ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>ӵĿ<D3B5><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-08-12 16:48:24 +08:00
340) 2015.8.11
340.1) feature: db ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳؼ<D3B3>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BCB0><EFBFBD>޸<EFBFBD><DEB8>У<EFBFBD>
(1) db_handle <20>̳<EFBFBD><CCB3><EFBFBD> connect_client<6E><74>db_pool <20>̳<EFBFBD><CCB3><EFBFBD> connect_pool;
(2) <20>޸<EFBFBD> mysql_pool/sqlite_pool<6F><6C>ʹ֮ʵ<D6AE><CAB5><EFBFBD>˻<EFBFBD><CBBB><EFBFBD> connect_pool <20>е<EFBFBD><D0B5><EFBFBD><E9B7BD>
(3) <20>޸<EFBFBD> db_mysql/db_mysql<71><6C>ʹ֮ʵ<D6AE><CAB5><EFBFBD>˻<EFBFBD><CBBB><EFBFBD> connect_client <20>е<EFBFBD><D0B5><EFBFBD><E9B7BD>
(4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysql_manager/sqlite_manager<65><72>ʹ֮<CAB9>̳<EFBFBD><CCB3><EFBFBD> connect_manager
339) 2015.8.9
339.1) bugfix: redis_zset::zrange_get_with_scores <20><>ȡ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
338) 2015.8.6
338.1) feature: <20>ӳ<EFBFBD><D3B3><EFBFBD> xml/json ģ<><C4A3><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
337) 2015.8.4
337.1) compile: samples/db <20>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD> MACOS <20>ϱ<EFBFBD><CFB1><EFBFBD>
336) 2015.8.3
336.1) samples/redis: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
335) 2015.8.2
335.1) feature: db_handle/db_mysql/db_sqlite <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>̬<EFBFBD>⶯̬
<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ȫ·<EFBFBD><EFBFBD>
335.2) feature: mysql ģ<><EFBFBD><E9B9A6><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_acl_cpp <20><><EFBFBD>У<EFBFBD>
<EFBFBD><EFBFBD> db_mysql ģ<><C4A3>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2>ö<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ط<EFBFBD>ʽ
335.3) samples/db/mysql_query: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
335.4) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE> samples/db/mysql_pool<6F><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>̻߳<DFB3><CCBB><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>ݿ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӳز<EFBFBD><EFBFBD><EFBFBD>
334) 2015.8.1
334.1) feature: <20><><EFBFBD>Ա<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>stdin_stream, stdout_stream
334.2) sample: db/mysql_query <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
333) 2015.7.31
333.1) feature: HttpServlet <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> doRun <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ݿͻ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ֶ<EFBFBD>(Connection) <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͷ<D3A6>е<EFBFBD> Connection ͷ<>ֶ<EFBFBD>
332) 2015.7.30
332.1) bugfix: redis_command::redirect() <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD> cluster->peek() <20><><EFBFBD><EFBFBD> NULL
ʱӦ<EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD> NULL
331) 2015.7.25
331.1) feature: HttpServletRequest <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml <20><> json <20><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
330) 2015.7.22
330.1) bugfix: dbuf_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붯̬<EBB6AF><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˽<CEAA>з<EFBFBD><D0B7><EFBFBD>
329) 2015.7.21
329.1) feature: db ģ<><C4A3><EFBFBD>IJ<EFBFBD>ѯ<EFBFBD><D1AF> query <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> double/float <20><><EFBFBD><EFBFBD>
329.2) perfomance: dbuf_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3>Ӷ<EFBFBD><D3B6>ٴμ<D9B4><CEBC><EFBFBD> malloc/free <20><><EFBFBD><EFBFBD>
328) 2015.7.19
328.1) bugfix: redis_command.cpp <20>е<EFBFBD> run(redis_client_cluster*, size_t) <20><><EFBFBD><EFBFBD>
<EFBFBD>п<EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD>ڵ<EFBFBD> conn <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷź<CDB7><C5BA>ٴηǷ<CEB7><C7B7><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŷ<CDB7><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĴ<C3B5><C4B4><EFBFBD>֮<EFBFBD><D6AE>
327) 2015.7.16
327.1) bugfix: redis_command.cpp <20>е<EFBFBD> run(redis_client_cluster*, size_t) <20><><EFBFBD><EFBFBD>
<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD> conf->eof() ʱ<><CAB1><EFBFBD><EFBFBD> conn = peek_conn(xxx) <20><><EFBFBD><EFBFBD> NULL<4C><4C><EFBFBD><EFBFBD>Ӧֱ<D3A6>ӷ<EFBFBD><D3B7><EFBFBD> NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
326) 2015.7.15
326.1) bugfix: redis_script.cpp <20><> eval_cmd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> key <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<E3B7BD><CABD><EFBFBD><EFBFBD>
325) 2015.7.13
325.1) sample: <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE> samples/redis/redis_geo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>Ϣģ<CFA2><C4A3><EFBFBD><EFBFBD> redis_geo
324) 2015.7.11-12
324.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_geo <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> redis <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
323) 2015.7.6
323.1) feature: HttpServlet <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ͻ<EFBFBD><CDBB>˱<EFBFBD><CBB1>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ӵķ<D3B5><C4B7><EFBFBD>
322) 2015.7.4
322.1) feature: http_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_range <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶϵ<DDB6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
322.2) feature: HttpServletRequest <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> getRange <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶϵ<DDB6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
321) 2015.7.2
321.1) bugfix: redis_hash::hexists <20>жϷ<D0B6><CFB7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
320) 2015.7.1
320.1) feature: http_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP ͷ<><CDB7><EFBFBD>ֶ<EFBFBD><D6B6>޸ĵķ<C4B5><C4B7><EFBFBD>
319) 2015.6.28
319.1) compile: ֧<><D6A7><EFBFBD><EFBFBD> VC x64 <20><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD>ʹ<EFBFBD><CAB9>
2015-06-27 22:46:54 +08:00
318) 2015.6.25
318.1) bugfix: beanstalk::ignore_all <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
317) 2015.6.22
317.1) feature: dbuf_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dbuf_reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʹ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
317.2) performance: redis_command <20>൱ÿһ<C3BF><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB4A6><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD><DAB4>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>֮
317.3) bugfix: redis_zset <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> sizeof ʱδ -1
316) 2015.6.17
316.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_queue <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
315) 2015.6.16
315.1) feature: db_handle.cpp <20>е<EFBFBD> db_row <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> field_double <20><><EFBFBD><EFBFBD>
315.2) decprecate: <20><> db_pool <20>е<EFBFBD> peek <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>עΪ<D7A2><CEAA><EFBFBD>ڵģ<DAB5><C4A3><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> peek_open <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ʹ<EFBFBD>÷<EFBFBD>ʽ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
314) 2015.6.15
314.1) bugfix: redis_key.cpp -> randmkey <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-06-14 02:47:59 +08:00
313) 2015.6.14
313.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MACOSX <20>ϵ<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
312) 2015.6.12
312.1) compile: <20><> MAXOS <20>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EBB1A8>
311) 2015.6.3
311.1) samples/http/http_servlet: <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> redis <20><>Ⱥ<EFBFBD>洢 session <20><><EFBFBD><EFBFBD>
310) 2015.6.1
310.1) <20>ع<EFBFBD><D8B9><EFBFBD> session <20><>
310.2) feature: <20><><EFBFBD><EFBFBD> redis_session <20><>
310.3) bugfix: redis_client_cluster <20>е<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_pool Ӧ<><D3A6>Ϊ
redis_client_pool
309) 2015.5.25
309.1) feature: locker.cpp <20><><EFBFBD><EFBFBD> locker <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
308) 2015.5.18
308.1) bugfix: redis ģ<><C4A3><EFBFBD>е<EFBFBD>һЩʹ<D0A9>ñ<EFBFBD><C3B1>εķ<CEB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĵط<C4B5>©<EFBFBD><C2A9><EFBFBD>˵<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
2015-05-06 21:37:11 +08:00
307) 2015.5.6
307.1) bugfix: redis_command <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> get_client_addr <20><><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD>Ⱥģʽʱ<CABD><CAB1><EFBFBD><EFBFBD>
ȡ<EFBFBD>õ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>ַ
306) 2015.5.3-5.5
306.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˷ֲ<CBB7>ʽ<EFBFBD><CABD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> disque <20>Ŀͻ<C4BF><CDBB>˿<EFBFBD>ģ<EFBFBD><C4A3>
305) 2015.4.27
305.1) bugfix: redis_command.cpp <20>е<EFBFBD> run <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD> ASK <20><>Ӧ<EFBFBD><D3A6>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD> ASKING ָ<><D6B8>
304) 2015.4.25
304.1) bugfix: <20><> aio_timer_callback <20>еķ<D0B5><C4B7><EFBFBD> set_time <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD> present_
<EFBFBD><EFBFBD>ֵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32 λϵͳ<CFB5>»<EFBFBD><C2BB><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>Ϊ<EFBFBD><CEAA>
present_ = ((unsigned long) now.tv_sec) * 1000000
+ ((unsigned long) now.tv_usec);
<EFBFBD>ָijɣ<EFBFBD>
present_ = ((long long int) now.tv_sec) * 1000000
+ ((long long int) now.tv_usec);
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ż<EFBFBD>ǿ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> 64 λ<>Դ<EFBFBD>.
303) 2015.4.23
303.1) bugfix: samples/connect_manager<65><72><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>Ǿֲ<C7BE><D6B2>ģ<EFBFBD><C4A3><EFBFBD>Ӧ<EFBFBD><D3A6> monitor
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> check_async <20>ص<EFBFBD><D8B5><EFBFBD>
302) 2015.4.21
302.1) buffix: redis_client::get_redis_string <20><><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>Ϊ 0 ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣,
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<D6B5>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-04-19 22:15:30 +08:00
301) 2015.4.19
301.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_cluster <20><>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2015-04-12 21:37:17 +08:00
300) 2015.4.12
300.1) comment: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis ģ<><C4A3><EFBFBD><EFBFBD>Ӣ<EFBFBD><D3A2>ע<EFBFBD><D7A2>
2015-04-08 23:17:16 +08:00
299) 2015.4.8
299.1) comment: <20><> redis ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩע<D0A9><D7A2>
298) 2015.4.7
298.1) bugfix: redis_cluster <20><><EFBFBD>е<EFBFBD> reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_command <20>еķ<D0B5><C4B7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱦ<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD> redis_cluster <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ׺ cluster_
298.2) bugfix: acl::redis <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><CCB3><EFBFBD> redis_xxx <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Щ
<EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_command <20>Ĺ<EFBFBD><C4B9><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl::redis
<EFBFBD>Ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ؽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_command <20>Ĺ<EFBFBD><C4B9><EFBFBD><ECBAAF>
298.3) feature: acl::redis_cluster <20><><EFBFBD>е<EFBFBD> cluster_nodes, cluster_slots,
cluster_slaves, cluster_info <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD>õĽ<C3B5><C4BD><EFBFBD><EFBFBD><EFBFBD>
297) 2015.4.6
297.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_slot <20>༰ redis_node <20><>
296) 2015.4.5
296.1) performance: HttpServletResponse::write <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> chunk <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>ϵͳ API write <20><>ʽ<EFBFBD><CABD>Ϊֻ<CEAA><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> writev<65><76><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>
2015-04-04 15:25:29 +08:00
295) 2015.4.4
295.1) feature: connect_monitor <20><><EFBFBD>ӳ<EFBFBD><D3B3>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3>Ӷ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ͨ<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
294) 2015.4.2
294.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ redis_client_pool, <20><><EFBFBD><EFBFBD> redis_cluster
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ redis_client_cluster
294.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_cluster<65><72>֧<EFBFBD>ֹٷ<D6B9><D9B7>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD> CLUSTER ָ<>
294.3) feature: redis_client_cluster <20><>֧<EFBFBD>־<EFBFBD>̬<EFBFBD><CCAC>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>Ӧ<EFBFBD><D3A6>ϵ
294.4) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis CLUSTER ָ<><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_cluster
293) 2015.3.30
293.1) bugfix: redis_command.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_strings <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1> rr <20>±<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
------------------------------------------------------------------------
292) 2015.3.27
292.1) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF><EFBFBD><E1B9A9>һ<EFBFBD><D2BB>ͳһ<CDB3><D2BB><EFBFBD><EFBFBD> redis<69><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><CCB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis <20><><EFBFBD><EFBFBD><EFBFBD>ֻ࣬<E0A3AC><D6BB>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> redis <20><><EFBFBD><EFBFBD>
292.2) samples/redis: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis, redis_cluster2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
292.3) workaround: ȥ<><C8A5><EFBFBD><EFBFBD> redis <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>
291) 2015.3.25
291.1) bugfix: server_socket::open() <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַΪ ip:0 ʱ<><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
acl_getsocketname <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ
290) 2015.3.23
290.1) bugfix: redis_command::scan_keys <20>ڲ<EFBFBD><DAB2><EFBFBD>ʹ<EFBFBD><CAB9>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> count ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>л wangsquirrel@gmail.com <20><><EFBFBD>ִ<EFBFBD> BUG
289) 2015.3.17
389.1) bugfix: http_header <20><><EFBFBD>еķ<D0B5><C4B7><EFBFBD> set_method(const char* method) <20><>Ҫ<EFBFBD><D2AA>
method_s <20><><EFBFBD>и<EFBFBD>ֵ
2015-03-08 21:34:00 +08:00
288) 2015.3.2
288.1) feature: beanstalk <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
2015-03-01 23:50:53 +08:00
287) 2015.3.1
287.1) feature: redis <20>ͻ<EFBFBD><CDBB>˼<EFBFBD>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>
287.2) feature: <20><EFBFBD><E1B8BB><EFBFBD><EFBFBD><EFBFBD>ӳع<D3B3><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
286) 2015.2.28
286.1) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF><EFBFBD><EFBFBD>Լ<EFBFBD>Ⱥ<EFBFBD><C8BA>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𻵽<EFBFBD><F0BBB5BD><EFBFBD><EFBFBD>Զ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
286.2) bugfix: connect_pool <20><><EFBFBD>еĺ<D0B5><C4BA><EFBFBD> put <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> delay_destroy_ Ϊ true
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> count_ > 0 <20><><EFBFBD><EFBFBD>ʱû<CAB1>жԻ<D0B6><D4BB><EFBFBD><EFBFBD><EFBFBD> lock_ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ø<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӳض<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵߳<EFBFBD><EFBFBD><EFBFBD> put <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Զ<EFBFBD>ȴ<EFBFBD>
285) 2015.2.26
285.1) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ⱥ<EFBFBD>汾 redis3.0 <20><>֧<EFBFBD><D6A7>
284) 2015.2.14
284.1) workaround: <20><> redis ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>ڸ<EFBFBD><DAB8>õ<EFBFBD>֧<EFBFBD><D6A7> redis3.0 <20>е<EFBFBD>
<EFBFBD><EFBFBD>Ⱥģʽ
284.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>֧<EFBFBD><D6A7> redis <20><>Ⱥģʽ
284.3) samples/redis_cluster: <20><><EFBFBD><EFBFBD> redis <20><>Ⱥģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
283) 2015.2.11
283.1) samples: <20><>Ϊ acl_master ģʽ<C4A3><CABD><EFBFBD>еķ<D0B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD>֧<EFBFBD><D6A7> WIN32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_xxx ϵ<>е<EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> WIN32 <20><>ǿ<EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD> alone <20><><EFBFBD><EFBFBD>ģʽ
283.2) performance: redis_key::scan, redis_zset::zscan, redis_set::sscan,
redis_hahs:hscan ֮ǰ<D6AE>ڱ<EFBFBD><DAB1><EFBFBD>ʱ<EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD>ռ<D5BC>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD>ɶ<EFBFBD><C9B6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
282) 2015.2.10
282.1) feature: redis_command <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õķ<C3B5><C4B7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
redis_command <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD> redis_result <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еķ<D0B5><C4B7><EFBFBD>
------------------------------------------------------------------------
2015-02-02 16:50:06 +08:00
281) 2015.2.2
281.1) feature: http_client.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> sprint_header <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD> HTTP <20><>Ӧͷ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ý<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>
280) 2015.2.1
280.1) samples: redis_connection, redis_hyperloglog, redis_transaction <20><><EFBFBD><EFBFBD>
redis <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>ͨ<EFBFBD><CDA8>
2015-01-30 22:58:13 +08:00
279) 2015.1.30
279.1) feature: http_header.cpp <20>е<EFBFBD> set_method <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HEAD/OPTION <20><><EFBFBD>󷽷<EFBFBD>
279.2) samples: redis_zset_pool <20><><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD>ͨ<EFBFBD><CDA8> redis <20><><EFBFBD>򼯴洢<F2BCAFB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>ʽ
<EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>зֳ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD>ϴ洢<EFBFBD><EFBFBD> redis <20><><EFBFBD>򼯶<EFBFBD><F2BCAFB6><EFBFBD><EFBFBD>ij<EFBFBD>Ա<EFBFBD><D4B1>
279.2) redis_zset: redis <20><><EFBFBD>򼯹<EFBFBD><F2BCAFB9><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
278) 2015.1.25
278.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> script <20><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>
277) 2015.1.23
277.1) bugfix: master_threads2.cpp <20><> run_once() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> service_on_accept <20><><EFBFBD><EFBFBD>
ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>ʱû<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֺ<EFBFBD><EFBFBD>ڴ<EFBFBD>й©
2015-01-23 17:23:04 +08:00
277.2) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF><EFBFBD> redis_key, redis_hash, redis_set, redis_zset
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> scan <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
277.3) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pubsub <20><><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD>
277.4) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> server <20>ļ<EFBFBD><C4BC><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
276) 2015.1.21
276.1) feature: ʵ<><CAB5> <20><>redis_zset ȫ<><C8AB><EFBFBD>ӿ<EFBFBD>
276.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/redis/redis_pubsub <20><><EFBFBD><EFBFBD> redis_pubsub <20><>
275) 2015.1.20
275.1) feature: redis_zset <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD> 10 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB7BD>
274) 2015.1.19
274.1) bugfix: db_mysql.cpp <20><> WIN32 <20><>ʹ<EFBFBD><CAB9> mysql <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>صķ<D8B5>ʽ<EFBFBD><CABD><EFBFBD>ں<EFBFBD><DABA><EFBFBD>ָ<EFBFBD><D6B8>
ǰӦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> STDCALL <20><EFBFBD><EAB6A8>
274.2) redis: <20>ع<EFBFBD> redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD>
273) 2015.1.17-1.18
273.1) feature: ʵ<><CAB5><EFBFBD><EFBFBD> list/pubsub/connection/transaction redist <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
273.2) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF>е<EFBFBD> redis_key <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> migrate/move ֧<><D6A7>
272) 2015.1.16
272.1) feature: redis <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳؼ<D3B3><D8BC><EFBFBD><EFBFBD>ӳؼ<D3B3>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
271) 2015.1.15
271.1) bugfix: beanstalk <20>ͻ<EFBFBD><CDBB>˿⵱<CBBF><E2B5B1><EFBFBD>ó<EFBFBD>ʱ<EFBFBD><CAB1>ʽ<EFBFBD><CABD>ȡ<EFBFBD><C8A1>Ϣʱ<CFA2><CAB1>Ӧ<EFBFBD><D3A6>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
271.2) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_string <20><><EFBFBD>صĹ<D8B5><C4B9>ܲ<EFBFBD><DCB2><EFBFBD>ͨ<EFBFBD><CDA8>
271.3) feature: redis <20>ͻ<EFBFBD><CDBB>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> redis_hash/redis_key <20><><EFBFBD>صĹ<D8B5><C4B9>ܲ<EFBFBD><DCB2><EFBFBD>ͨ<EFBFBD><CDA8>
2015-01-14 23:35:23 +08:00
270) 2015.1.7
270.1) feature: socket_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_tcp_non_blocking <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6>ǰ
<EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD> UNIX ƽ̨<C6BD><CCA8>
269) 2015.1.3
269.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dbuf_pool <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD>ʺ<EFBFBD><CABA><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>һ<EFBFBD><D2BB>С<EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
269.2) feature: <20><><EFBFBD>԰<EFBFBD><D4B0><EFBFBD><EFBFBD>Ƶ<EFBFBD> OSS<53><53><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD> JAVA SDK <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> C++ <20>ӿ<EFBFBD>
268.1) 2014.12.24
268.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: HttpServlet <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> doRun <20><><EFBFBD><EFBFBD>
269) 2015.1.1
269.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD>ʹ<EFBFBD><CAB9> clang/clang++ <20><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
2014-11-19 00:25:21 +08:00
------------------------------------------------------------------------
267) 2014.12.14
267.1) feature: locker <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> try_lock <20><><EFBFBD><EFBFBD>
267.2) feature: xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2014-12-07 23:48:11 +08:00
266) 2014.12.2
266.1) bugfix: polarssl_io <20><><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>п<EFBFBD><D0BF>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IO <20><>
265) 2014.12.1
265.1) bugfix: istream <20><><EFBFBD>е<EFBFBD> xxx_peek <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʱû<CAB1><C3BB><EFBFBD>ж<EFBFBD> errno Ϊ ACL_EWOULDBLOCK
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -1 <20><> errno Ϊ ACL_EWOULDBLOCK ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
265.2) feature: polarssl_io <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD> IO <20><><EFBFBD><EFBFBD>
264) 2014.11.29
264.1) feature: stream_setup <20><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>֧<EFBFBD><D6A7> aio_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
264.2) feature: polarssl_io <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD> IO <20>ķ<EFBFBD><C4B7><EFBFBD>
263) 2014.11.25
263.1) feature: string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> find_blank_line/find_reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>λ<EFBFBD><EFBFBD>
263.2) feature: string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> substr <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
263.3) samples: <20><> string/blank_line ʾ<><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
263.4) feature: master_threads2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> proc_exit_timer <20><EFBFBD><E9BAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
<EFBFBD><EFBFBD>Ҫ<EFBFBD>˳<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ծ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
262) 2014.11.19
262.1) bugfix: http_response <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD> read_header <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>
head_sent_ <20><>Ϊ false<73><65><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>һ<EFBFBD>λỰʱ<E1BBB0><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD> HTTP <20><>Ӧͷ
2014-11-19 00:25:21 +08:00
261) 2014.11.18
261.1) bugfix: fstream::open <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>ȵ<EFBFBD><C8B5>û<EFBFBD><C3BB><EFBFBD> stream::open_stream<61><6D>
Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><EFBFBD><EFBFBD> C <20><> acl_vstream_fdopen ʱû<CAB1><C3BB>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ACL_VSTREAM <20>Ĺرջص<D5BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
261.2) bugfix: snprintf.cpp <20>к<EFBFBD><D0BA><EFBFBD> snprintf/vsnprintf <20>ڵ<EFBFBD><DAB5><EFBFBD> _vsnprintf_s ʱ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ϊ _TRUNCATE<54><45><EFBFBD><EFBFBD><EFBFBD>򵱻<EFBFBD><F2B5B1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ıȽ<C4B1>СʱVC<56><EFBFBD><E1B9A9> API <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
260) 2014.11.10
260.1) feature: master_threads2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_on_handshake <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_on_accept <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>е<EFBFBD><D0B5><EFBFBD> thread_on_handshake <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
259) 2014.11.7
259.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><ECB2BC><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD>ֵ<EFBFBD>͵Ľӿ<C4BD>
259.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json/json7
------------------------------------------------------------------------
258) 2014.10.26
258.1) feature: <20><EFBFBD><E1B8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SQL <20><>ѯ<EFBFBD><D1AF> query <20>Ľӿ<C4BD>
258.2) sample: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ѯʾ<D1AF><CABE> samples/db/mysql_query
258.3) feature: string <20><><EFBFBD><EFBFBD> format_append <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><E9B9A6>
258.4) bugfix: string <20><><EFBFBD>е<EFBFBD> operator +=(long n) <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
257) 2014.10.25
257.1) feature: socket_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20>׽<EFBFBD><D7BD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>/<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>server_socket
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳٽ<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>
257.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> query <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD>࣬ͨ<E0A3AC><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0B9B9><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB> SQL <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><E4A3AC>ͨ<EFBFBD><CDA8>
db_handle <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF> query <20><><EFBFBD>󣬴<EFBFBD><F3A3ACB4><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD> java hiberate <20><>һЩ˼<D0A9><CBBC>
256) 2014.9.12
256.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> Makefile.db <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
255) 2014.9.11
255.1) bugfix: samples/win_dbservice <20><><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD> DB <20><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><ECB2BD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
254) 2014.9.6
254.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> VC <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBEAF>
254.2) performance: <20>ڵ<EFBFBD><DAB5><EFBFBD> delete ǰɾ<C7B0><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>пղ<D0BF><D5B2><EFBFBD>
253) 2014.8.27
253.1) feature: polarssl_conf <20><>֧<EFBFBD><D6A7> SSL <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>ʽ
253.2) feature: stream_hook <20><><EFBFBD><EFBFBD> on_close <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɸ<EFBFBD><EFBFBD>ݴ˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>; stream <20><><EFBFBD>ڹر<DAB9>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ͨ<EFBFBD><EFBFBD> on_close <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>
------------------------------------------------------------------------
252) 2014.8.21
252.1) feature: ֧<><D6A7> polarssl.1.2.11 <20><> polarssl.1.3.8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE> polarssl,
<EFBFBD><EFBFBD> polarssl.1.3.8 <20><EFBFBD>Զ<EFBFBD><D4B6>߳<EFBFBD>֧<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD> BUG<55><47><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ʹ<EFBFBD><CAB9> polarssl.1.2.11 <20>
252.2) sample: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/https_client <20><><EFBFBD>̲߳<DFB3><CCB2><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
https_server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
251) 2014.8.20
251.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> polarssl <20><> stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><CFB9><EFBFBD>
251.2) <20>ӿڵ<D3BF><DAB5><EFBFBD><EFBFBD><EFBFBD>http_client <20><><EFBFBD>е<EFBFBD> open <20><><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD> use_ssl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
http_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stream <20><>ʹ<EFBFBD><CAB9> stream::setup_hook <20><><EFBFBD><EFBFBD>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD> SSL ͨ<>Ź<EFBFBD><C5B9><EFBFBD>
251.3) stream: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> setup_hook ʱע<CAB1><D7A2><EFBFBD><EFBFBD> ACL_VSTREAM <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> context <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ӧ<EFBFBD>ó<EFBFBD>ͻ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> ACL_VSTREAM <20><> objs_table <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>
251.4) sample: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/https_server<65><72><EFBFBD>ó<EFBFBD><C3B3><EFBFBD>Ϊһ<CEAA><D2BB>֧<EFBFBD><D6A7> HTTPS Э<><D0AD><EFBFBD><EFBFBD> WEB <20><><EFBFBD><EFBFBD>
250) 2014.8.19
250.1) feature: ֧<><D6A7>ʹ<EFBFBD><CAB9> polarssl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SSL <20><><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD>
250.2) feature: stream <20><><EFBFBD>У<EFBFBD> <20><> close <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B7BD><EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><E9B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stream
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD> <20>ҿ<EFBFBD><D2BF>Ե<EFBFBD><D4B5><EFBFBD> stream_hook <20><> on_close <20><><EFBFBD><EFBFBD>
250.3) sample: samples/ssl_server <20><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD> SSL ʾ<><CABE>
249) 2014.8.15
249.1) feature: stream <20><><EFBFBD><EFBFBD> set_ctx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿɶ<C7BE><C9B6><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
248) 2014.7.31
248.1) compile: <20><> FreeBSD9.2(64) <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
247) 2014.7.29
247.1) feature: socket_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> alive() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4><EFBFBD>̬
247.2) feature: stream <20><><EFBFBD><EFBFBD>չ<EFBFBD><D5B9> set_ctx/get_ctx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> key <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD> ctx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> del_ctx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE> key <20><>Ӧ<EFBFBD><D3A6> ctx <20><><EFBFBD><EFBFBD>
247.3) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> socket/client, socket/server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
246) 2014.7.24
246.1) bugfix: http_request.cpp <20>е<EFBFBD><D0B5>÷<EFBFBD><C3B7><EFBFBD> write_head ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷽷<EFBFBD>Ϊ POST <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD>
246.2) feature: http_mime.cpp <20><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD> HTTP MIME <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD> get_nodes<65><73><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> parsed_ Ϊ true <20>һ<D2BB>ؿս<D8BF><D5BD>ϼ<EFBFBD><CFBC><EFBFBD>
245) 2014.7.21
245.1) bugfix: header_token.cpp <20>ĺ<EFBFBD><C4BA><EFBFBD> header_token <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 <20><>·<EFBFBD><C2B7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>еķ<EFBFBD>б<EFBFBD><EFBFBD> '\'
244) 2014.7.16
244.1) feature: <20><><EFBFBD><EFBFBD> string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>󣬿<EFBFBD><F3A3ACBF><EFBFBD>ͨ<EFBFBD><CDA8> length() ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ \0 <20>Ա<EFBFBD>֤ʹ<D6A4><CAB9>ʱ<EFBFBD>İ<EFBFBD>ȫ<EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD> std::string
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>std::string <20><><EFBFBD><EFBFBD> 0 <20><>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>
245.2) samples: string3 ʾ<><CABE>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
243) 2014.6.26
243.1) feature: aio_istream/istream ֧<>ְ<EFBFBD><D6B0>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD><F3B3A4B6>Է<EFBFBD>ֹ
<EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
243.2) feature: string <20><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><E8B6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶ȣ<F3B3A4B6><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>ʱ<EFBFBD><EFBFBD><E1B1A8><EFBFBD><EFBFBD>
242) 2014.6.23
242.1) feature: string.cpp <20><> string ֧<><D6A7><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
------------------------------------------------------------------------
241) 2014.6.18
241.1) master_aio.cpp: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>Ӧ<EFBFBD>ٵ<EFBFBD><D9B5><EFBFBD> __handle->check()
241.2) master_aio.cpp: <20><>Ϊ C <20><><EFBFBD>еĽӿ<C4BD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<C4B1><E4A3AC>Ҫȥ<D2AA><C8A5> run_ctx(<28><><EFBFBD>ĸ<EFBFBD>)<29><><EFBFBD><EFBFBD>
240) 2014.6.12
240.1) bugfix: string <20><><EFBFBD>е<EFBFBD> trim_left_space/trim_right_space <20><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ݺ<EFBFBD>û<EFBFBD><C3BB>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD> '\0'
239) 2014.5.27
239.1) bugfix: scan_dir <20><><EFBFBD>е<EFBFBD> curr_path() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ·<C8AB><C2B7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
239.2) feature: string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> scan_line/scan_move <20>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ͬʱ<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD> string::c_str(), string::length(), string::size()<29><>ʹ֮<CAB9>ܹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> scan_xxx <20><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>Ϊ
238) 2014.5.26
238.1) sample: samples/scan_dir <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD> acl::scan_dir
237) 2014.5.23
237.1) feature: string <20><>Ϊ<EFBFBD><CEAA>ʹ<EFBFBD>÷<EFBFBD><C3B7>㣬ȥ<E3A3AC><C8A5><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>е<EFBFBD><D0B5>޶<EFBFBD><DEB6><EFBFBD> const
237.2) bugfix: scan_dir <20><><EFBFBD>е<EFBFBD> curr_path <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
236) 2014.5.22
236.1) bufix: http_client <20><><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><ECBAAF> http_client() <20><>û<EFBFBD>ж<EFBFBD> buf_ <20><> NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_client::reset <20>ж<EFBFBD> buf_ <20><><EFBFBD><EFBFBD> reset <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>˷Ƿ<CBB7>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
235) 2014.5.20
235.1) bugfix: connect_manager <20><><EFBFBD>ӳؼ<D3B3>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD>൱ij<E0B5B1><C4B3><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ʧ<EFBFBD>ܵ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӳؽ<EFBFBD><EFBFBD>лָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻᵼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
235.2) feature: connect_manager <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>Զ<EFBFBD><D4B6>ָ<EFBFBD><D6B8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ûָ<C3BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>set_retry_inter
234) 2014.5.15
234.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> stdlib/scan_dir <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>Ŀ¼ɨ<C2BC><C9A8>
234.2) sample: <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE> samples/dircopy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF><EFBFBD><E1B9B9><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD> scan_dir <20><>
233) 2014.5.13
233.1) feature: string/http_client/http_request <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD><CBB0>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ݵķ<DDB5><C4B7><EFBFBD>
232) 2014.5.11
232.1) feature: string <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> scan_line/trim_left_space/trim_right_space/
trim_space/trim_left_line/trim_right_line/trim_line <20><><EFBFBD><EFBFBD>
231) 2014.5.8
231.1) interface: HttpServletResponse <20><><EFBFBD><EFBFBD> format/vformat <20>ķ<EFBFBD><C4B7><EFBFBD>ֵ<EFBFBD><D6B5> bool <20><>Ϊ int
230) 2014.5.6
230.1) feature: fstream <20><><EFBFBD>е<EFBFBD> fseek/ftell <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD> eof_ <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>״̬
229) 2014.5.5
229.1) feature: fstream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ftell <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>ļ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>ƫ<EFBFBD><C6AB>λ<EFBFBD><CEBB>
228) 2014.4.23
228.1) bugfix: connect_pool.cpp <20><>ʵ<EFBFBD><CAB5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>set_retry_inter
227) 2014.3.28
227.1) feature: connect_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ӳض<D3B3><D8B6><EFBFBD><EFBFBD>Ľӿڣ<D3BF><DAA3><EFBFBD>
connect_pool <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳض<D3B3><D8B6><EFBFBD>
------------------------------------------------------------------------
226) 2014.3.27
226.1) ȥ<><C8A5><EFBFBD><EFBFBD> master_threads ԭ<><D4AD><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BBBB> master_threads2<73><32><EFBFBD><EFBFBD>Ϊ
lib_acl <20>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD><EFBFBD> acl_threads_server.c <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>ܸ<EFBFBD>ǿ<EFBFBD><C7BF>
227.2) feature: master_aio <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>رջص<D5BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӶϿ<D3B6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_acl <20><><EFBFBD><EFBFBD> acl_aio_server.c->acl_aio_server_on_close() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹرյ<EFBFBD>ʱ<EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_dispatch <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
225) 2014.3.21
225.1) bugfix: master_threads2.cpp<70><70><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD> service_on_close ʱ<><CAB1>
û<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_threads.cpp <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><E0BDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B1BB><EFBFBD><EFBFBD>)
224) 2014.3.14
224.1) bugfix: md5.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 <20><>ʹ<EFBFBD><CAB9> sprintf_s <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3>Ȳ<EFBFBD><C8B2><EFBFBD>ӦΪ
3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VC <20><EFBFBD><E1B1A8>
223) 2014.3.13
223.1) feature: connect_manager <20><><EFBFBD>ӳؼ<D3B3>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>
connect_monitor Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3><EFBFBD><EFBFBD>ں<EFBFBD>̨<EFBFBD><CCA8><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳؼ<D3B3>Ⱥ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ˿<C4B6><CBBF>Ƿ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
222) 2014.2.27
222.1) bugfix: event_timer.cpp, <20><> 32 λ<><CEBB><EFBFBD>»<EFBFBD><C2BB><EFBFBD> 64 λ<><CEBB><EFBFBD><EFBFBD>ת 32 λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32 λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC>Ҫԭ<D2AA><D4AD><EFBFBD><EFBFBD> event_timer::set_time <20>и<EFBFBD> present_
<EFBFBD><EFBFBD>ֵʱָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> unsinged long <20>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD> long <20><> 32 λ<><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 32 λ<><CEBB><EFBFBD><EFBFBD>
221) 2014.2.6
221.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> glib <20><><EFBFBD>е<EFBFBD>һЩ<D2BB><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD> gcc <20><> vc <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD>
220) 2014.1.18
220.1) feature: db_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> peek_open <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ʱֱ<CAB1>Ӵ<EFBFBD><D3B4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
220.2) comment: string::strip <20><>ע<EFBFBD>Ͷ<EFBFBD> each <20><><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
219) 2014.1.27
219.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
218) 2014.1.21
218.1) bugfix: HttpServletRequest.cpp, HttpServletRequest::readHeader <20>ڽ<EFBFBD><DABD><EFBFBD>
POST<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD> Content-Length Ϊ 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
217) 2014.1.20
217.1) bugfix: http_request.cpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF>(<28><> socket_stream* <20><>
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>֮һ<><CAB1>socket_stream::get_peer(bool full) <20>IJ<EFBFBD><C4B2><EFBFBD>ӦΪ true
<EFBFBD>Ա<EFBFBD><EFBFBD>ڻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ(ip:port)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֻ<EFBFBD><D6BB>IP<49><50><EFBFBD><EFBFBD>PORT<52><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ӳɹ<D3B3>
216) 2014.1.11
216.1) compile: ֧<><D6A7> vc2008 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
216.2) feature: <20><>ʹ<EFBFBD>ø߰汾 vc<76><63>_MSC_VER >= 1500,<2C><> VC9 <20><><EFBFBD>ϰ汾<CFB0><E6B1BE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> _CRT_SECURE_NO_WARNINGS <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> VC <20><><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
215) 2014.1.8
215.1) feature: http_request <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD> set_timeout <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>糬ʱ<E7B3AC><CAB1><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ʱ
214) 2014.1.6
214.1) bugfix: <20><><EFBFBD>̳߳ط<CCB3><D8B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3> master_threads2 <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> service_pre_jail
ʱӦ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD> acl_threads_server_event <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><><D4AD>д<EFBFBD><D0B4><EFBFBD><EFBFBD> acl_ioctl_server_event,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿɵķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>)
213) 2014.1.5
213) security: ipc ͨ<>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>֤<EFBFBD><D6A4><EFBFBD>ܣ<EFBFBD><DCA3>Է<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
212) 2014.1.4
212.1) bugfix: queue_file.cpp<70><70>queue_file::create <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ
<EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>־λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
211) 2013.12.29
211.1) feature: json <20><>֧<EFBFBD>ֽ<EFBFBD><D6BD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
211.2) samples: json <20>µIJ<C2B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
210) 2013.12.28
210.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/json Ŀ¼<C4BF><C2BC>
209) 2013.12.25
209.1) bugfix: json.cpp <20><> json_node::set_text <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
208) 2013.12.22
208.1) feature: socket_stream <20><>֧<EFBFBD><D6A7> ssl <20><><EFBFBD><EFBFBD>(<28><> polarssl <20><><EFBFBD><EFBFBD>); ȥ<><C8A5><EFBFBD><EFBFBD>
ssl_stream <20><>
207) 2013.12.13
207.1) feature: master_threads2<73><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳߳<DFB3>ģ<EFBFBD><C4A3>
------------------------------------------------------------------------
206) 2013.12.7
206.1) samples/master_udp_threads: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>̬<EFBFBD>÷<EFBFBD> __thread
<EFBFBD>޷<EFBFBD>֧<EFBFBD><EFBFBD> solaris<69><73><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>̬<EFBFBD><CCAC>ʽʹ<CABD><CAB9><EFBFBD>ֲ߳̾<CCBE><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
205) 2013.12.6
205.1) comment: <20><><EFBFBD><EFBFBD> connect_manager::init ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
205.2) bugfix: connect_pool::put <20>ڹ黹<DAB9><E9BBB9><EFBFBD>Ӹ<EFBFBD><D3B8><EFBFBD><EFBFBD>ӳ<EFBFBD>ʱ<EFBFBD><CAB1>Ϊ<EFBFBD><CEAA><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>
<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> push_front<6E><74>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> push_back
204) 2013.12.5
204.1) feature: Makefile ֧<><D6A7> solaris(x86) <20><><EFBFBD><EFBFBD>
203) 2013.12.2
203.1) document: <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> doxygen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ע<EFBFBD><D7A2>
202) 2013.12.1
202.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event ģ<><EFBFBD><E9A3AC> master_timer <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ event_timer
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> event ģ<><C4A3><EFBFBD><EFBFBD>
202.2) feature: <20>ڻ<EFBFBD><DABB><EFBFBD> master_base <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD> proc_set_timer <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ͬʱ<CDAC>Ƴ<EFBFBD><C6B3><EFBFBD> master_threads <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> proc_set_timer <20><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
master_base <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (master_threads, master_aio, master_proc, master_udp,
master_trigger) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD>Ķ<EFBFBD>ʱ<EFBFBD><CAB1>
201) 2013.11.29
201.1) feature: master ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> master_timer
201.2) feature: master_threads ģ<><C4A3>֧<EFBFBD><D6A7><EFBFBD>µĶ<C2B5>ʱ<EFBFBD><CAB1>
201.3) workaround: stream ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD> aio_timer_callback <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
aio_handle <20><><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
200) 2013.11.26
200.1) feature: json.cpp,
200.1.1) json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD>
a) <20><><EFBFBD><EFBFBD><ECBAAF> json(const json_node&)<29><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD>һ<EFBFBD><D2BB> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijһ<C4B3><D2BB> json
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> json <20><><EFBFBD><EFBFBD>
b) duplicate_node <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3> json <20><><EFBFBD><EFBFBD><E3B8B4>һ<EFBFBD><D2BB><EFBFBD>µ<EFBFBD> json <20><><EFBFBD><EFBFBD>
c) to_string <20>µĽ<C2B5> json <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
200.1.2) json_node <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD>
a) to_string <20><><EFBFBD><EFBFBD> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
b) set_tag <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BBBB>ǩ<EFBFBD><C7A9>
c) set_text <20><> json <20><><EFBFBD><EFBFBD>ΪҶ<CEAA><D2B6><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6BBBB>ǩֵ
200.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> json3/json4
199) 2013.11.23
199.1) feature: http_header <20><><EFBFBD><EFBFBD><E1B8BB> set_url <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL <20><><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD> url <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
199.2) feature: http_header <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD>add_int <20><> add_format
199.3) feature: http_header add_param <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<D6B5><CEAA>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>մ<EFBFBD>
199.3) feature: http_header::set_host <20><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD> host_ <20><>
199.4) feature: http_header::set_url <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http://www.test.com <20><>
url(<28><>ĩβ<C4A9><CEB2><EFBFBD><EFBFBD>û<EFBFBD><C3BB> '/')
198) 2013.11.21
198.1) feature: http_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> chunked <20><><EFBFBD>ʽ<E4B7BD><CABD>
198.2) feature: http_request <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽд<CABD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>write_head/write_body<64><79>
198.3) feature: http_response <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽд<CABD><D0B4><EFBFBD>ݷ<EFBFBD>ʽ
197) 2013.11.19
197.1) workaround: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_client <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_respond_head <20><>
get_request_head <20>ķ<EFBFBD><C4B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ƣ<EFBFBD>ȥ<EFBFBD><C8A5> const <20>޶<EFBFBD><DEB6><EFBFBD>
197.2) bugfix: http_header.cpp<70><70>http_header::date_format <20><> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
196) 2013.11.17
196.1) bugfix: json.cpp, json::getElementsByTags() <20>ڲ<EFBFBD>δ<EFBFBD>Կ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
196.2) samples: samples/json2, <20><><EFBFBD>ڲ<EFBFBD><DAB2>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
195) 2013.11.13
195.1) bugfix: http_header.cpp, http_header::date_format <20><> UNIX ƽ̨<C6BD><CCA8>
gmtime <20><><EFBFBD>̲߳<DFB3><CCB2><EFBFBD>ȫ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫʹ<D2AA><CAB9> gmtime_r
194) 2013.11.9
194.1) feature: HttpServletRequest <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD>ȡ HTTP <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
193) 2013.11.8
193.1) feature: http_utils::get_addr <20><> url <20><><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD><EFBFBD> HTTP Ҳ<><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTPS
192) 2013.11.7
192.1) bugfix: http_download.cpp <20>Ĺ<EFBFBD><C4B9><EFBFBD><ECBAAF><EFBFBD>е<EFBFBD><D0B5><EFBFBD> ACL_SAFE_STRNCPY ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijߴ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD> bug <20>ɸ߰汾<DFB0><E6B1BE> gcc4.8.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
191) 2013.11.5
191.1) bugfix: http_header.cpp, http_header::build_common <20><><EFBFBD><EFBFBD> Content-Length
HTTP ͷ<><CDB7><EFBFBD>ֶ<EFBFBD>ʱû<CAB1><C3BB><EFBFBD><EFBFBD><EFBFBD>ӷָ<D3B7><D6B8><EFBFBD> ": "
190) 2013.11.1
190.1) feature: <20><>ʹ<EFBFBD><CAB9> GCC <20><><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD><D0BE>б<EFBFBD><D0B1>εĺ<CEB5><C4BA><EFBFBD><EFBFBD>ӿڶ<D3BF><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޶<EFBFBD>---__attribute__((format(printf, n, m)))<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ܷ<EFBFBD><DCB7><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD>
190.2) bugfix: master_udp.cpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD> alone <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>û<EFBFBD>н<EFBFBD> socket_stream
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_VSTREAM::context<78><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> service_main ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD><C2B4><EFBFBD>һ<EFBFBD><D2BB>
189) 2013.10.31
189.1) bugfix: thread.cpp<70><70><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ʽ<EBB7BD><CABD><EFBFBD><EFBFBD>ʱ thread::thread_run <20>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> run <20>󲻵<EFBFBD><F3B2BBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶߳<DFB3><CCB6><EFBFBD><EFBFBD><EFBFBD> return_arg_<67><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
188) 2013.10.20
188.1) feature: HttpServletResponse <20><>֧<EFBFBD><D6A7> Transfer-Encoding: chunked <20><><EFBFBD>ʽ
187) 2013.10.19
187.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_client<6E><74>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>˳<EFBFBD><CBB3><EFBFBD>
186) 2013.10.18
186.1) bugfix: db/db_mysql.cpp, <20>ڴ<EFBFBD><DAB4><EFBFBD> mysql <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ɹ<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
185) 2013.10.15
185.1) thread <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: thread_job<6F><62><EFBFBD>Ӷ<EFBFBD>ʹ<EFBFBD>߼<EFBFBD><DFBC><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
184) 2013.10.13
184.1) bugfix: master_udp.cpp, master_udp::service_main() <20>е<EFBFBD> socket_stream
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ջ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
183) 2013.10.12
183.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_udp_threads<64><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̳߳<DFB3><CCB3><EFBFBD> master_udp ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
182) 2013.10.11
182.1) feature: connect_manager/connect_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ӡ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>ӳض<D3B3><D8B6><EFBFBD>
182.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>(stdlib/thread)<29><><EFBFBD>̳߳<DFB3><CCB3><EFBFBD>(stdlib/thread_pool)
182.3) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread <20><><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
182.4) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_pool <20><><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD>̳߳<DFB3><CCB3><EFBFBD>
181) 2013.10.10
181.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_aio_proxy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TCP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
180) 2013.10.3
180.1) feature: aio_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_peer/get_local <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
<EFBFBD><EFBFBD>Զ<EFBFBD>̵<EFBFBD>ַ
179) 2013.9.30
179.1) feature: master_udp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD> proc_on_init() <20><EFBFBD><E9BAAF><EFBFBD>л<EFBFBD><D0BB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󼯺ϵĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: get_sstreams()
179.2) bugfix: memcache.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> open <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> memcached <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
valgrind <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ʱ<D6BE><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
178) 2013.9.27
178.1) lib_acl <20><><EFBFBD><EFBFBD> ACL_EVENT_NOTIFY_RDWR/ACL_EVENT_NOTIFY_TIME <20><><EFBFBD><EFBFBD><EFBFBD>ӿڶ<D3BF><DAB6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>޸ģ<EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
178.2) feature: master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_udp <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>
178.3) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> UDP <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> udp_client
177) 2013.9.22
177.1) <20><>Ϊ lib_acl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> ACL_VSTREAM <20><>д<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿڱ<D3BF><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ص<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD>ҪӰ<EFBFBD><EFBFBD><EFBFBD> ssl_stream/ssl_aio_stream
176) 2013.9.13
176.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Makefile.db <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʹ<EFBFBD>ø<EFBFBD><C3B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ mysql/sqlite <20><>;
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĹ<EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> Makefile <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>
175) 2013.9.12
175.1) feature: connect_manager <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8>ݼ<EFBFBD>ֵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ĺ<EFBFBD>ϣֵ<CFA3><D6B5>ȡ<EFBFBD><C8A1><EFBFBD>ӳض<D3B3><D8B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷֲ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>
175.2) feature: connect_manager/connect_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
174) 2013.9.10
174.1) feature: http_request::request <20><>ԭ<EFBFBD><D4AD>ֻ<EFBFBD><D6BB>ָ<EFBFBD><D6B8> GET/POST <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷽷<EFBFBD><F3B7BDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷽷<EFBFBD>
174.2) feature: http_header <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><E5A3A8><EFBFBD><EFBFBD> GET/POST/PUT/CONNECT/PURGE֮<45><D6AE><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
173) 2013.9.9
173.1) feature: memcache <20><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>д<EFBFBD><D0B4><EFBFBD>ݣ<EFBFBD><DDA3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ִ<EFBFBD> value <20>Ĵ<EFBFBD>ȡ<EFBFBD><C8A1>ʽ
172) 2013.9.7
172.1) master_threads <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>ʽ<EFBFBD><CABD>ʹ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD> acl_master <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>
171) 2013.9.5
171.1) feature: master_threads/master_aio/master_proc <20><>֧<EFBFBD><D6A7><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
171.2) feature: acl_cpp_init.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 <20>¹ر<C2B9> DOS <20><><EFBFBD>ڵĺ<DAB5><C4BA><EFBFBD>
171.3) compile: acl_cpp_init.cpp <20><> freopen <20><><EFBFBD>ص<EFBFBD><D8B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊδ<CEAA><CEB4>ʹ<EFBFBD>ö<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
170) 2013.8.30
170.1) feature: http/memcache ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳع<D3B3><D8B9><EFBFBD><EFBFBD><EFBFBD>
170.2) connpool/http_request_pool/memcache_pool: <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><ECBAAF><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
169) 2013.8.22
169.1) bugfix: memcache <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>󻺳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>
168) 2013.8.18
168.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD> http_request_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/http_request_pool
168.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD> memcache_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/memcache_pool
167) 2013.8.17
167.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD> http_request_pool<6F><6C>ͬʱ<CDAC><CAB1> http_request
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ connect_client <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
167.2) feature: memcache <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD> memcache_pool<6F><6C>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD> mem_cache <20><>Ϊ
memcache
166) 2013.8.13
166.1) mem_cache: <20><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><ECBAAF><EFBFBD>ӿڣ<D3BF>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
166.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>õĿͻ<C4BF><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳع<D3B3><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>connect_client, connect_pool,
connect_manager<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Ҫʵ<EFBFBD>ֺ<EFBFBD><EFBFBD>ٵļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><EFBFBD>ù<EFBFBD><EFBFBD>ܷḻ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ӳع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
165) 2013.8.11
165.1) feature: db_pool ֧<>ֶ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵ<CDB7><C5B5><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>
164) 2013.8.9
164.1) bugfix: db/db_mysql.c <20>ڴ<EFBFBD><DAB4><EFBFBD> mysql ʱԭ<CAB1><D4AD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><EFBFBD><EFBFBD>
ǰ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>
163) 2013.7.29
163.1) bugfix: string::split/split2 <20>ڲ<EFBFBD><DAB2>ڵ<EFBFBD><DAB5><EFBFBD> acl_argv_split <20><>û<EFBFBD>е<EFBFBD><D0B5><EFBFBD>
acl_argv_free <20>ͷŶ<CDB7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
162) 2013.7.1
162.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Դ<EFBFBD>ļ<EFBFBD>
161) 2013.6.25
161.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gcc-4.6.3 <20>µ<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EBBEAF>
160) 2013.6.13
160.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> server_socket <20><>
160.2) socket_stream: <20><> get_ip <20><><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
160.3) samples/benchmark: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> client/server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> IO ѹ<><D1B9><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
159) 2013.6.6
159.1) feature: HttpServletRequest/http_client <20><><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP <20><><EFBFBD><EFBFBD>ͷ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
158) 2013.5.13
158.1) feature: master_thread <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>Ӷ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
157) 2013.5.2
157.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽 IO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࣺaio_fstream
157.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aio_fstream <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: fs_benchmark
156) 2013.4.17
156.1) bugfix: master_thread.cpp <20>ڲ<EFBFBD><DAB2>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>master_threads::thread_run
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>пɶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ж<EFBFBD>
155) 2013.4.5
155.1) bugfix: ipc_service.cpp <20><> thread_pool_main <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD> last_serror
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD> last_error
155.2) bugfix: <20><> rpc_request::run <20><><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ֲ<EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
<EFBFBD><EFBFBD> rpc_client::on_message ͨ<><CDA8> IO <20>յ<EFBFBD><D5B5>˱<EFBFBD><CBB1><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰѴ˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸij<EFBFBD><EFBFBD><EFBFBD> rpc_request <20><>ͬ
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD>ֹ rpc_client::on_message <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ǰ<EFBFBD>ͷŵı<C5B5><C4B1><EFBFBD>
154) 2013.4.1
154.1) HttpServletRequest.cpp: HttpServletRequest::getSession<6F><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD> COOKIE
<EFBFBD><EFBFBD> SESSION <20><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>
153) 2013.3.28
153.1) feature: beanstalk <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD> beanstalk_pool
152) 2013.3.23
152.1) bugfix: HttpServletRequest::getPathInfo <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD> CGI ģʽ<C4A3><CABD>Ӧ<EFBFBD><D3A6>
<EFBFBD>ȸ<EFBFBD><EFBFBD><EFBFBD> SCRIPT_NAME <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><D9B8><EFBFBD> PATH_INFO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
151) 2013.3.14
151.1) feature: HttpServletRequest::getSession <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD> sid
151.2) feature: memcache_session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF>
150) 2013.3.11
150.1) bugfix: rpc.cpp, rpc_request::cond_wait <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
acl_pthread_cond_wait <20><> acl_pthread_cond_timedwait <20><><EFBFBD>ط<EFBFBD> 0 ֵ<><D6B5><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rpc_request::cond_signal <20><>Ϊ<EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
149) 2013.2.25
149.1) bugfix: ipc ģ<><EFBFBD><E9A3AC> aio_handle Ϊ WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ӧ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽ӿڵļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
149.2) feature: ipc ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD>
149.3) samples/gui_rpc: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>ִ<EFBFBD><D6B4><EFBFBD>
148) 2013.2.24
148.1) <20><> db_pool <20><><EFBFBD><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mysql_pool <20><> sqlite_pool <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
147) 2013.2.8
147.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> url_coder <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD> url <20>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
147.2) http/: <20><> HttpCookie <20><><EFBFBD><EFBFBD> http_header <20><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>а<EFBFBD><D0B0><EFBFBD><EFBFBD>γɵ<CEB3><C9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
146) 2013.2.5
146.1) feature: beanstalk.cpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>watch <20><> use <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
145) 2013.1.31
145.1) feature: beanstalk <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
145.2) wizard: ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
145) 2013.1.27
145.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>еIJ<D0B5><C4B2><EFBFBD><EFBFBD><EFBFBD> queue/
144) 2013.1.26
144.1) beanstalk: <20>Ż<EFBFBD><C5BB>˽ӿ<CBBD>ʵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
143) 2013.1.25
143.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> beanstalkd <20>ͻ<EFBFBD><CDBB><EFBFBD>ͨѶЭ<D1B6><D0AD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
143.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD> beanstalk <20>ͻ<EFBFBD><CDBB><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
142) 2013.1.13
142.1) lib_acl_cpp: <20><>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E9BBAF>Ҳ<EFBFBD><D2B2><EFBFBD>ڽ<EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ϵͳĿ¼<C4BF><C2BC>
141) 2012.12.31
141.1) feature: master_threads.hpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> thread_on_timeout() <20><EFBFBD><E9BAAF>
140) 2012.12.28
140.1) bugfix: string.cpp <20><><EFBFBD>е<EFBFBD> left()/right() <20><><EFBFBD><EFBFBD>
139) 2012.12.17
139.1) bugfix: session.cpp, vbuf_new() <20>е<EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD> assert() <20><><EFBFBD><EFBFBD>
138) 2012.12.14
138.1) feature: socket_stream.cpp: get_peer()/get_local() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP:PORT <20><> IP <20><>ʽ<EFBFBD>ĵ<EFBFBD>ַ
138.2) feature: socket_stream.cpp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_peer_ip/get_local_ip
137) 2012.12.10
137.1) performance: session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>ѯ/<2F><><EFBFBD><EFBFBD><><C9BE>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
136) 2012.12.7
136.1) feature: session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳٷ<D3B3>ʽ<EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijһ SID <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> flush <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA>˵<EFBFBD> cache <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
136.2) string: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>¹<EFBFBD><C2B9><EFBFBD><ECBAAF>
136.3) samples: samples/session <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6>ӳ<EFBFBD><D3B3>޸<EFBFBD> session <20>IJ<EFBFBD><C4B2><EFBFBD>ʾ<EFBFBD><CABE>
135) 2012.12.6
135.1) bugfix: db/db_mysql.cpp, <20><><EFBFBD><EFBFBD> mysql ʱ<>ĵ<EFBFBD>ַ<EFBFBD>д<EFBFBD>
134) 2012.11.27
134.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD> singleton.hpp
134.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>ʾ<EFBFBD><CABE> samples/singleton
133) 2012.11.8
133.1) class istream: <20>޸<EFBFBD><DEB8><EFBFBD> gets_peek/read_peek <20>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>ӿڣ<D3BF><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> readn_peek <20><><EFBFBD><EFBFBD>
132) 2012.9.7
132.1) Ϊ<>˱<EFBFBD><CBB1><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬ȥ<E2A3AC><C8A5><EFBFBD>˴󲿷<CBB4><F3B2BFB7><EFBFBD><EFBFBD>е<EFBFBD> noncopyable <20>̳й<CCB3>ϵ
131) 2012.9.6
131.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> noncopyable <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>̳и<CCB3><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
131.2) <20>󲿷<EFBFBD><F3B2BFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD><CCB3><EFBFBD> noncopyable <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>Ӹ<EFBFBD>ֵ
130) 2012.8.21
130.1) feature: stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> set_rw_timeout/get_rw_timeout
130.2) socket_stream: ȥ<><C8A5><EFBFBD><EFBFBD> unbind_vstream<61><6D><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD> stream <20><><EFBFBD><EFBFBD><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
129) 2012.8.18
129.1) samples/http_client: VC <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ж<EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ӷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>
*128*) 2012.8.17 1.1.1.2 release <20><EFBFBD><E6B1BE>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
127) 2012.8.16
127.1) performance: rpc, ipc_service <20>ڲ<EFBFBD><DAB2><EFBFBD> ipc <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>ӷ<EFBFBD>ʽ<EFBFBD><CABD>
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>Ч<EFBFBD><EFBFBD>
126) 2012.8.15
126.1) http_response.cpp: get_body() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> < 0 <20><> HTTP <20><><EFBFBD>󷽷<EFBFBD>Ϊ GET/CONNECT
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҲӦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> true
126.2) samples: http_server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rpc ͨѶģʽ<C4A3>°<EFBFBD><C2B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
125) 2012.8.14
125.1) doxygen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩͷ<D0A9>ļ<EFBFBD><C4BC><EFBFBD>ע<EFBFBD>Ͳ<EFBFBD>׼ȷ<D7BC>ĵط<C4B5>
125.2) ׼<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><E6B1BE>:)
124) 2012.8.13
124.1) feature: <20><>Ϊ md5 <20><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD>ʹ<E1B1BB>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>Է<EFBFBD>װ<EFBFBD><D7B0>һ<EFBFBD><D2BB> md5 <20><EFBFBD><EFBFBD><E0A3AC> md5.cpp
124.2) samples: md5 ʾ<><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> md5 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
123) 2012.8.2
123.1) aio_handle: <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ľӿڽ<D3BF><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
122) 2012.7.30
122.1) feature: socket_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> unbind_stream <20><><EFBFBD><EFBFBD>
121) 2012.7.26
121.1) bugfix: xml.cpp <20><> xml <20><><EFBFBD>У<EFBFBD><D0A3><EFBFBD><E0B4A6><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶<D0B9><C2B6><EFBFBD>ڴ<EFBFBD><DAB4>Ƿ<EFBFBD><C7B7>ͷŵ<CDB7><C5B5><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> valgrind <20><><EFBFBD><EFBFBD>
120) 2012.7.25
120.1) bugfix: rpc.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cond_signal <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cond_wait ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cond_count_ <20><>Ϊ cond_wait <20>Ƿ<EFBFBD>Ӧ<EFBFBD>õȴ<C3B5><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
119) 2012.7.20
119.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_utils<6C><73>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD>õĹ<C3B5><C4B9><EFBFBD><EFBFBD><EFBFBD><E0B9A6>
119.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_download<61><64>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֶϵ<D6B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
118) 2012.7.19
118.1) feature: http_request/http_header <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> Range <20><>֧<EFBFBD><D6A7>
117) 2012.7.16
117.1) feature: http_request, <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD>set_charset/read_body<64><79><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>
ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD>ѹ<EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
117.2) bugfix: http_client, read_response_body(char* buf, size_t size) <20>У<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD>Ӧͷ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD>ѹģ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD>н<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
zlib_stream::unzip_finish <20><><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> zlib <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й¶
117.3) bugfix: rpc.cpp, rpc_request::cond_wait <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>˳<EFBFBD>򲻶<EFBFBD>
117.4) feature: string.cpp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> split2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD> vector <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
116.1) 2012.7.12
116.1) string <20><><EFBFBD>е<EFBFBD> split <20><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ֵ<EFBFBD><D6B5>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> std::list <20><>Ϊ std::vector<6F><72>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ʹ<EFBFBD><EFBFBD>
115) 2012.7.10
115.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еļ<D0B5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
114) 2012.7.5
114.1) feature: rcp.hpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> cond_wait/cond_signal <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵȴ<DAB5>
״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
113) 2012.7.4
113.1) feature: socket_stream.h <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ACL_SOCKET unbind_sock() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬴Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׽<EFBFBD><EFBFBD>ֵĹرշֿ<EFBFBD>
112) 2012.7.2
112.1) bugfix: aio_istream.cpp <20>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD> aio_istream::gets <20><> aio_istream::read
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>ʱʱ<EFBFBD><EFBFBD>Ϊ timeout Ϊ 0 ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD>õij<C3B5>ʱʱ<CAB1>䣬Ӧ<E4A3AC><D3A6><EFBFBD>ǰѳ<C7B0>ʱʱ<CAB1><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ 0
112.2) samples/rpc_download: <20><>һ<EFBFBD><D2BB><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>ͬʱʹ<CAB1><CAB9> valgrind <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B1BE>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
112.3) samples/gui_rpc: <20><><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2>û<EFBFBD><C3BB><EFBFBD> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʽ<EFBFBD><CABD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ϵĹ<EFBFBD><EFBFBD><EFBFBD>
111) 2012.7.1
111.1) bugfix: http_request.cpp/http_response.cpp <20>е<EFBFBD> get_body(char*, size_t)
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬷<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
111.2) samples: rpc_download <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rpc <20><><EFBFBD><EFBFBD>
ģ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
110) 2012.6.30
110.1) feature: rpc_request <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õķ<C3B5><C4B7><EFBFBD>: rpc_signal/rpc_wakeup,
<EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rpc_run <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>бߴ<D0B1><DFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷߳<DFB3>
<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rpc_request::rpc_wakeup <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
110.2) rpc_request <20>ķ<EFBFBD><C4B7><EFBFBD> rpc_callback <20><>Ϊ rpc_onover<65><72>ͬʱ rpc_onover <20><>
Ȩ<EFBFBD>޷<EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD>޶<EFBFBD>Ϊ protected<65><64>Ϊ<EFBFBD>˱<EFBFBD>֤<EFBFBD><D6A4> rpc_service <20>п<EFBFBD><D0BF>Է<EFBFBD><D4B7>ʣ<EFBFBD><CAA3><EFBFBD> rpc_service
<EFBFBD><EFBFBD> rpc_client <20><>Ϊ rpc_request <20><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
109) 2012.6.28
109.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ipc/rpc.cpp<70><70><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>չ<EFBFBD><D5B9> IPC <20>ʹ<E0A3AC><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>Ÿ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
108) 2012.6.26
108.1) feature: http_header/HttpCookie <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>õķ<C3B5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ըö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>
108.2) bugfix: HttpServletRequest::readHeader<65><72><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>û<EFBFBD><C3BB><EFBFBD>ж<EFBFBD>ָ<EFBFBD><D6B8>Ϊ NULL
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
107) 2012.6.21
107.1) bugfix: samples/cgi_upload <20><>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڴ<EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
107.2) feature: src/http/http_header <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> set_request_mode <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͷ
107.3) HttpServletResponse: <20>ڴ<EFBFBD><DAB4><EFBFBD> http_header ʱ<><CAB1><EFBFBD><EFBFBD> set_request_mode
ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͷ<EFBFBD><EFBFBD>ʽ
107.4) samples/: cgi, cgi_upload <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
107.5) feature: HttpServletResponse <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD> setKeepAlive <20>Լ<EFBFBD>
getHttpHeader()
106) 2012.6.20
106.1) http ģ<><C4A3><EFBFBD>е<EFBFBD>һЩ<D2BB>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><E6BCB0><EFBFBD>ļ<EFBFBD><C4BC>У<EFBFBD>HttpServlet,
HttpServletRequest, HttpServleResponse, HttpSession
106.2) session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> memcache_session
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ memcached ʱ<><CAB1> session <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>redis
<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>
106.3) samples: cgi/cgi_upload/http_servlet/session <20><>΢<EFBFBD>޸<EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
105) 2012.6.19
105.1) bugfix: master_conf.c <20><><EFBFBD><EFBFBD> reset <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵ı<CDB5><C4B1><EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ͷ<EFBFBD>
105.2) feature: master_base <20><><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD> daemon_mode <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> acl_master
<EFBFBD><EFBFBD><EFBFBD>Ƶĺ<EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
105.3) bugfix: http_header::build_request <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> URL <20><><EFBFBD>ʽ<EBB7BD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL <20><><EFBFBD><EFBFBD><EBA3AC>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿһ<C3BF><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> URL <20><><EFBFBD><EFBFBD>
105.4) bugfix: http_request::get_cookie <20><>һ<EFBFBD>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD>ʱӦ<CAB1><D3A6><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>һ<EFBFBD><D2BB>
http_request::create_cookies
104) 2012.6.15
104.1) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/http_request <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
103) 2012.6.13
103.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_pipe <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD>Թܵ<D4B9><DCB5><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> HTTP Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
103.2) feature: http_request/http_response <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>
103.3) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/http_response <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
102) 2012.6.12
102.1) feature: session/HttpSession <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> session <20><><EFBFBD>ڵķ<DAB5><C4B7><EFBFBD>
102.2) ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЩԴ<D0A9><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 ƽ̨<C6BD><EFBFBD> snprintf <20>Ķ<EFBFBD><C4B6><EFBFBD><E5A3AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ͷ<EFBFBD>ļ<EFBFBD> lib_acl.h <20><><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
101) 2012.6.11
101.1) feature: session/HttpSession <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>Ľӿ<C4BD>
100) 2012.6.8
100.1) feature: session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> del <20>ӿ<EFBFBD>
100.2) feature: HttpServletRequest <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> setCookie <20><><EFBFBD><EFBFBD>
100.2) bugfix: HttpSession <20>ڵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> session ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB> session
<EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ϊû<CEAA><C3BB><EFBFBD>Ǹ<EFBFBD> session cookie <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
100.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_test, session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
99) 2012.6.7
99.1) feature: <20><> session <20><><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ʹ HttpSession <20>̳<EFBFBD> session <20><>
99.2) locker: <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĽӿڣ<D3BF>ʹ֮<CAB9><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
99.3) HttpServlet: <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>δ֪<CEB4><D6AA><EFBFBD>󷽷<EFBFBD>ʱ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><E9BAAF> doUnkown
98) 2012.6.5
98.1) feature: http_request/http_response <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9>ܽ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
98.2) http_header: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> reset <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>״̬
98.3) featur: http_header->HttpCookie <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> setCookie <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD> Set-Cookie <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
97) 2012.6.3
97.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_conf <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ͬʱ<CDAC><CAB1> master_base <20><><EFBFBD><EFBFBD>
<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_conf <20>д<EFBFBD><D0B4><EFBFBD>
97.2) compile: <20><> AS6/CS6 <20>ϱ<EFBFBD><CFB1><EFBFBD>ͨ<EFBFBD><CDA8>
96) 2012.6.1
96.1) feature: db_handle <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> escape_string <20><><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD>ֹ SQL ע<><EFBFBD><EBB9A5>
96.2) feature: db_handle/db_pool <20><><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>ϵ
95) 2012.5.31
95.1) feature: xml, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> getFirstElementByTag/getFirstElementByTags<67><73><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml <20><><EFBFBD><EFBFBD>
94) 2012.5.28
94.1) bugfix: mime/internal/mime_state_parse.cpp: <20><>Ϊ֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> body_data_end
<EFBFBD><EFBFBD>Ϊij<EFBFBD><EFBFBD> MIME <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><E5B2BB> MULTIPART <20><>ʽʱ<CABD><CAB1>body_data_end Ҳ
Ӧ<EFBFBD>ø<EFBFBD>ֵ<EFBFBD>Ŷԡ<EFBFBD>
93) 2012.5.26
93.1) linux ƽ̨<C6BD><CCA8>Ĭ<EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD> polarssl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
92) 2012.5.18: 1.1.1.0 BETA <20><EFBFBD><E6B1BE><EFBFBD><EFBFBD>
92.1) http ģ<><EFBFBD><E9B9A6><EFBFBD>Ѿ<EFBFBD><D1BE>ȽϷḻ<CFB7>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3> CGI <20><>ʽ<EFBFBD><CABD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʹ<EFBFBD><CAB9>
ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> java servlet һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>GOOD WORK!
91) 2012.5.17
91.1) <20>޸<EFBFBD><DEB8><EFBFBD> mime/ <20><><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD>ʹ http_mime <20><>֧<EFBFBD><D6A7><EFBFBD>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4><EFBFBD>
90) 2012.5.16
90.1) http/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_mime <20>֧࣬<E0A3AC><D6A7><EFBFBD>ļ<EFBFBD><C4BC>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>
89) 2012.5.15
89.1) http/: HttpServlet <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶Բ<CBB6><D4B2><EFBFBD><EFBFBD>ȵ<EFBFBD>֧<EFBFBD><D6A7>
89.2) http_client: <20>ڵ<EFBFBD><DAB5>õڶ<C3B5><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>rw_timeout_ û<>и<EFBFBD><D0B8><EFBFBD>ʼֵ(valgrind
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>)
88) 2012.5.13
88.1) http/: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CGI <20>IJ<EFBFBD><C4B2><EFBFBD>֧<EFBFBD><D6A7>
88) 2012.5.10
88.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HttpServlet, HttpServletRequest, HttpServletResponse,
HttpSession <20><><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CGI <20><><EFBFBD><EFBFBD>
88.2) ȥ<><C8A5><EFBFBD><EFBFBD> HTTP_COOKIE <20>ṹ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HttpCookie <20><>
88.3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> samples/http_servlet <20><><EFBFBD><EFBFBD>
87) 2012.5.2
87.1) http_client: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_ostream/get_istream <20>ӿڣ<D3BF>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> write
<EFBFBD>ӿڣ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD> http_client::get_ostream().write <20><><EFBFBD>ﵽд<EFB5BD><D0B4>Ŀ<EFBFBD><C4BF>
86) 2012.4.26
86.1) feature: xml.hpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> xml_attr <20>࣬ͬʱ<CDAC><CAB1> xml_node <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԵĹ<EFBFBD><EFBFBD><EFBFBD>
85) 2012.4.24
85.1) feature: json <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_json() <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_xml <20><><EFBFBD><EFBFBD>
85.2) feature: json/xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> first_child/next_child <20><><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_parent() <20><><EFBFBD><EFBFBD>
84) 2012.4.22
84.1) feature: json/xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>õĽӿں<D3BF><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵ش<D7B5><D8B4><EFBFBD>
json/xml <20><><EFBFBD>󣬿<EFBFBD><F3A3ACBF>Բο<D4B2><CEBF><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
83) 2012.4.21
83.1) feature: json/xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> first_node/next_node <20>ӿ<EFBFBD>
83.2) feature: master/ <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD> acl_cpp <20><>ʹ<EFBFBD><CAB9> acl <20><><EFBFBD>е<EFBFBD> master <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
<EFBFBD>û<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_acl.h ͷ<>ļ<EFBFBD><C4BC><EFBFBD>ֻ<EFBFBD><D6BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> lib_acl.hpp ͷ<>ļ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> acl_cpp <20><>ʱ<EFBFBD><CAB1><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD> acl <20><><EFBFBD><EFBFBD>֪ʶ<D6AA><CAB6>ͬʱ<CDAC>ڱ<EFBFBD><DAB1><EFBFBD>
ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>㣨ֻ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> lib_acl.a <20><EFBFBD>ɣ<EFBFBD>
82) 2012.4.20
82.1) feature: <20><><EFBFBD><EFBFBD> json <20><><EFBFBD>ķ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>
82.2) samples: samples/json
81) 2012.4.17
81.1) feature: xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD> xml <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>кŵĹ<C5B5><C4B9><EFBFBD>
80) 2012.4.12
80.1) bugfix: master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> master_proc, master_trigger <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Ҫ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_watchdog_pat() <20><><EFBFBD><EFBFBD>֪ͨ acl_master <20><><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD>; <20><>
master_base.hpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>µij<C2B5>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>daemon_mode_ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ģʽ<EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
79) 2012.4.11
79.1) compile: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 <20><> VC2010 <20><><EFBFBD><EFBFBD><EBB9A4>
78) 2012.4.3
78.1) feature: http_header <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ HTTP <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>Ϊ HTTP <20><>Ӧͷ
77) 2012.4.2
77.1) feature: http_client <20><EFBFBD><E1B8BB>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD>ӿڣ<D3BF>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><E0BCB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
HTTP <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>˵<EFBFBD> HTTP <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
76) 2012.4.1
76.1) bugfix: string.cpp, <20><>CS4/AS4 <20>ϵ<EFBFBD> g++ <20>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵Ľӿڣ<D3BF><DAA3><EFBFBD>
format(const char* fmt, ...); format(const char* fmt, va_list ap),
<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> string.cpp <20><> format, format_append <20>Ĵ<EFBFBD><C4B4><EFBFBD>ƥ<EFBFBD><EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
vformat(const char* fmt, va_list ap)
75) 2012.3.18
75.1) Makefile: <20><> samples/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ͳһ<CDB3><D2BB> Makefile.in, <20><><EFBFBD>е<EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
Makefile <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
75.2) bugfix: string.cpp <20><><EFBFBD>е<EFBFBD> parse_xxx() ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳһ
<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ߳̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
75.3) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_service_mysql <20><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> mysql <20><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>
75.4) db_service: <20><> db_service <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_service_sqlite <20><><EFBFBD><EFBFBD>
֧<EFBFBD><EFBFBD> sqlite <20><><EFBFBD>ݿ<EFBFBD>
74) 2012.3.16
74.1) bugfix: mem_cache.cpp <20><> set <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>и<EFBFBD>BUG<55><47><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
73) 2012.3.13
73.1) Makefile: ָ<><D6B8><EFBFBD><EFBFBD> mysql ͷ<>ļ<EFBFBD><C4BC><EFBFBD>·<EFBFBD><C2B7>Ϊ: include/mysql
73.2) feature: db_mysql.cpp ֧<>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
72) 2012.3.7
72.1) compile: <20>ڱ<EFBFBD><DAB1>붯̬<EBB6AF><CCAC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>£<EFBFBD>
make shared rpath=xxx; <20><><EFBFBD><EFBFBD><EFBFBD>붯̬<EBB6AF><CCAC>
<EFBFBD><EFBFBD> make rpath=xxx; ͬʱ<CDAC><CAB1><EFBFBD>붯̬<EBB6AF><EFBFBD><E2BCB0>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
71) 2012.2.18
71.1) <20><><EFBFBD><EFBFBD>Ŀ¼<C4BF>µ<EFBFBD> mime Ŀ¼<C4BF>Ƶ<EFBFBD> src/mime/internal/ Ŀ¼<C4BF><C2BC>
70) 2012.2.15
70.1) src/stdlib/mem_cache.cpp: ʵ<><CAB5><EFBFBD>˲<EFBFBD><CBB2>ֳ<EFBFBD><D6B3>õ<EFBFBD> memcached Э<><D0AD>
69) 2012.2.14
69.1) src/ Ŀ¼<C4BF><C2BC><EFBFBD>¹滮<C2B9><E6BBAE>Ŀ¼<C4BF><EFBFBD><E1B9B9><EFBFBD>Ӷ<EFBFBD><D3B6>Եø<D4B5>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
68) 2012.1.19
68.1) feature: http_client/http_header, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>н<EFBFBD>ѹ
68.2) samples: http_client2, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_client <20><>
67) 2012.1.18
67.1) feature: log.hpp: <20><><EFBFBD><EFBFBD><EFBFBD>˽ӿ<CBBD> stdout_open <20><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>ʱ<EFBFBD><CAB1>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
67.2) log.hpp: <20><> open <20><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱʡ<C8B1><CAA1>ֵ
67.3) feature: zlib_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HTTP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD>ѹ gzip <20><><EFBFBD>ݵ<EFBFBD>֧<EFBFBD><D6A7>
66) 2012.1.10 : 1.1.0.0 <20><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!!!!
66.1) feature: master_aio.cpp, <20>ÿ<EFBFBD><C3BF><EFBFBD>װ<EFBFBD><D7B0> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>̷߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
66.2) feature: master_proc.cpp, <20>ÿ<EFBFBD><C3BF><EFBFBD>װ<EFBFBD><D7B0> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>ģ<EFBFBD><EFBFBD>
66.3) feature: master_trigger.cpp, <20>ÿ<EFBFBD><C3BF><EFBFBD>װ<EFBFBD><D7B0> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
66.3) samples: samples/master_aio, samples/master_proc, samples/master_trigger
65) 2012.1.8
65.1) feature: master_threads <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB>ӿڵ<D3BF><DAB5><EFBFBD>
64) 2012.1.6
64.1) feature: master_threads.cpp, <20>ÿ<EFBFBD><C3BF><EFBFBD>װ<EFBFBD><D7B0> acl_master <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĶ<D0B5>
<EFBFBD>̴߳<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
64.2) samples: samples/master_threads<64><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
63) 2011.12.21
63.1) feature: db_handle.cpp<70><70><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> db_handle <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ֱ<EFBFBD>ӻ<EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>get_first_row()/0, get_rows()/2, get_rows()/0
62) 2011.12.7
62.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_mysql.cpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_handle <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD>ʹ db_handle
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD> mysql <20>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 ʹ<><CAB9>ʱ<EFBFBD><CAB1><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><E2A3AC>ΪĿǰ<C4BF><C7B0>û<EFBFBD><C3BB><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>ʵ<EFBFBD>
libmysql.lib/libmysql.dll<6C><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 ʹ<>ø<EFBFBD><C3B8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> acl_cpp <20>ľ<EFBFBD>̬<EFBFBD><CCAC>
62.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_pool.cpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD>ӳصĹ<D8B5><C4B9><EFBFBD>
62.3) samples: samples/mysql<71><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼ӵ<C2BC> db_mysql <20><>
61) 2011.10.5
61.1) feature: <20><> glib <20><>ժȡ<D5AA><C8A1>һ<EFBFBD>δ<EFBFBD><CEB4><EFBFBD> win_iconv.cpp <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> win32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> win32 <20><> acl_cpp <20><><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD>ʹ<EFBFBD><CAB9> iconv.dll <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱҲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_cpp <20>ı<EFBFBD><C4B1><EFBFBD>ض<EFBFBD><D8B6><EFBFBD> USE_WIN_ICONV ʹ<><CAB9> win32 ԭ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD>л glib <20><> win_iconv.cpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> win32 <20><>ԭ<EFBFBD><D4AD> API
ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> iconv <20><><EFBFBD>Ĺ<EFBFBD><C4B9>ܡ<EFBFBD>
60) 2011.10.3
60.1) mime.cpp: save_mail, get_image, get_images <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
59) 2011.9.15
59.1) malloc.cpp, malloc.hpp<70><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> new, delete <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBB1A3>
58) 2011.9.12
58.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> new, delete<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> acl <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC>
57) 2011.9.5
57.1) string: <20><> push_back <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mime_code <20><><EFBFBD><EFBFBD>
<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD> push_back ʱ<>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
56) 2011.9.4
56.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pipe_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A3AC>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD> push <20><> pop <20><>Ϊһ<CEAA><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
push_pop<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>޸<EFBFBD>
56.2) bugfix: <20><>Ϊ string <20><><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>˴<CBB4><E6B4A2><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> push_back <20>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mime_code <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
55) 2011.9.3
55.1) feature: zlib_stream<61><6D>֧<EFBFBD><D6A7> pipe_stream <20><>ʽ
55.2) samples: samples/zlib <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> pipe_stream <20>IJ<EFBFBD><C4B2><EFBFBD>
55.3) bugfix: charset_conv <20><>Դ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>Ϊ utf-8 ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> utf-8 <20><>ǰ׺<C7B0>ж<EFBFBD><D0B6><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
54) 2011.9.2
54.1) feature: zlib<69><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> zlib <20><><EFBFBD>ķ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD>ʽѹ<CABD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ͬʱ
<EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 ƽ̨<C6BD><CCA8><EFBFBD>Ƕ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD> zlib.dll <20><>
54.2) samples: samples/zlib Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> zlib <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
53) 2011.8.26
53.1) feature: mime <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱֻ<EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD>Դ<EFBFBD>ļ<EFBFBD><EFBFBD>г<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mime_node, mime_body
53.2) samples: mime <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 53.1) <20><><EFBFBD><EFBFBD><EFBFBD>ԵIJ<D4B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
52) 2011.8.18
52.1) ipc_service <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʽ<EFBFBD><CABD> IPC ͨ<>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ļ̳<EFBFBD><EFBFBD><EFBFBD> dns_service, http_service, db_service <20><>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
<EFBFBD><EFBFBD> IPC ͨ<>ŷ<EFBFBD>ʽ; <20><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> IPC ͨ<>ŷ<EFBFBD>ʽ<EFBFBD>Dz<EFBFBD><C7B2><EFBFBD> IO <20><>Ϣ<EFBFBD><CFA2>ʽ<EFBFBD><CABD>
<EFBFBD><EFBFBD> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʽ
52.2) samples: wn_dbservice ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_service <20>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>Լ<EFBFBD> db_service
<EFBFBD><EFBFBD> WIN32 <20><>Ϣ<EFBFBD><CFA2> IPC ͨ<>Ź<EFBFBD><C5B9><EFBFBD>
52.3) feature: <20><><EFBFBD><EFBFBD> iconv.dll, sqlite3.dll <20><><EFBFBD>õķ<C3B5>ʽ<EFBFBD><CABD>Ϊ<EFBFBD><CEAA>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>ģʽ
51) 2011.8.14
51.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_handle/db_sqlite <20><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
51.2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> db_service <20><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD>ȻΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
50) 2011.7.22
50.1) final_tpl.hpp: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> java <20><> final <20><><EFBFBD>ܵĽ<DCB5>ֹ<EFBFBD>̳е<CCB3>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>
49) 2011.7.19
49.1) <20>޸<EFBFBD><DEB8><EFBFBD> acl::xml <20><><EFBFBD>й<EFBFBD> XML <20><><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩע<D0A9>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ʹ<EFBFBD><CAB9>
49.2) feature: ssl_aio_stream/ssl_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>Ϊ SSL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SSL <20><>
48) 2011.7.18
48.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 ƽ̨<C6BD>µİ汾<C4B0><E6B1BE><EFBFBD><EFBFBD>Դ
47) 2011.7.16
47.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽IO<49>Ļص<C4BB><D8B5><EFBFBD><EFBFBD>еĶ<D0B5><C4B6>ؼ̳<D8BC><CCB3><EFBFBD><EFBFBD><EFBFBD>
46) 2011.7.3-7.6
46.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ssl_aio_stream<61><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD> polarssl <20>ļ<EFBFBD><C4BC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֿͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<EFBFBD><EFBFBD>SSL<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
46.2) bugfix: ssl_stream(<28><><EFBFBD><EFBFBD> polarssl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>
45) 2011.6.29
45.1) aio_stream/aio_istream/aio_ostream: <20><><EFBFBD><EFBFBD><EFBFBD>ӻص<D3BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ڲ<EFBFBD><DAB2>ᶯ̬
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD>ַǷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
44) 2011.6.28
44.1) feature:
aio_stream <20><>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> del_close_callback/del_timeout_callback
/disable_close_callback/disable_timeout_callback
aio_ostream <20><>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> del_write_callback/disable_write_callback
aio_istream <20><>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> del_read_callback/disable_read_callback
43) 2011.6.24
43.1) http_header: ȥ<><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD>(domain <20><> port)
43.2) http_request: <20><><EFBFBD><EFBFBD><EFBFBD><ECBAAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> domain, port <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
42) 2011.6.23
42.1) <20><> http_stream.c/http_stream.h <20><><EFBFBD><EFBFBD>Ϊ http_client.c/http_client.h
41) 2011.6.22
41.1) <20>޸<EFBFBD><DEB8><EFBFBD> Doxygen <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩͷ<D0A9>ļ<EFBFBD><C4BC>е<EFBFBD>ע<EFBFBD><D7A2>
40) 2011.6.21
40.1) Ϊ<><CEAA><EFBFBD><EFBFBD> VC <20><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Դ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ת<EFBFBD><D7AA> DOS <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD> \r\n<><6E><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA> VIM <20>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>Ļ<EFBFBD><C4BB>и<EFBFBD>ʽ<EFBFBD>Զ<EFBFBD>ѡȡ<D1A1><C8A1><EFBFBD><EFBFBD>VC
<EFBFBD>ͱȽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȻVCʶ<EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>ʱֻ<CAB1><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\r\n
39) 2011.6.16
39.1) <20>޸<EFBFBD><DEB8><EFBFBD>һ<EFBFBD><D2BB> VC <20>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>ļ<EFBFBD>
39.2) http_request, dns_result_callback <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> destroy <20><><EFBFBD>ӿڣ<D3BF>
<EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
39.3) bugfix: aio_handle.cpp, aio_timer_callback::del_task <20><>Ӧ<EFBFBD><D3A6><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>
tasks_.erase(it); ֮<><D6AE><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><D9B4>ж<EFBFBD> it == tasks_.end()<29><><EFBFBD><EFBFBD>Ϊ iterator
<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> it Ҳ<><D2B2>û<EFBFBD><C3BB><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
38) 2011.6.15
38.1) Ϊ<>˱<EFBFBD><CBB1><EFBFBD>ʹ<EFBFBD><CAB9> VC <20>Դ<EFBFBD><D4B4>ıȽ<C4B1><C8BD><EFBFBD>֪<EFBFBD><D6AA> NEW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> new <20><><EFBFBD>ij<EFBFBD> NEW<45><57><EFBFBD><EFBFBD> acl_stafx.hpp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN23 <20>µ<EFBFBD> NEW <20><EFBFBD><EAB6A8>
38.2) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD> aio_delay_free<65><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻҪ<D6BB>̳и<CCB3><D0B8><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>ͷţ<EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> aio_timer_callback <20><>Ϊ aio_delay_free <20><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> aio_handle <20>е<EFBFBD> delay_free_timer <20><>Ϊ delay_free<65><65><EFBFBD>Ӷ<EFBFBD>ʹ<EFBFBD>ù<EFBFBD><C3B9>ܳ<EFBFBD>
Ϊһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊͨ<EFBFBD>õĹ<EFBFBD><EFBFBD><EFBFBD>
37) 2011.6.13
37.1) HttpClient <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vc2010 <20>µĹ<C2B5><C4B9><EFBFBD>
36) 2011.6.10
36.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD> VC <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>
35) 2011.6.9
35.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> http_service <20><EFBFBD><E0A3AC><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HTTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
35.2) ipc_service: <20>Ż<EFBFBD><C5BB><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
34) 2011.6.1
34.1) feature: <20><EFBFBD><ECB2BD>ʱ<EFBFBD><CAB1>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD>ඨʱ<E0B6A8><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϣ<EFBFBD>¼<EFBFBD>
33) 2011.5.23
33.1) feature: win32 <20><>֧<EFBFBD><D6A7> iconv <20><>
32) 2011.5.16
32.1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붨ʱ<EBB6A8><CAB1><EFBFBD><EFBFBD><EFBFBD>صľ<D8B5><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBCB6><EFBFBD>ߵ<EFBFBD>΢<EFBFBD>
31) 2011.5.13
31.1) bugfix: aio_ostream.cpp <20>е<EFBFBD><D0B5><EFBFBD> aio_timer_writer::timer_callback()
<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD> iterator <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
31.2) compile: <20><> acl_stdafx.hpp <20><><EFBFBD><EFBFBD> src/ Ŀ¼<C4BF>£<EFBFBD><C2A3>Ա<EFBFBD><D4B1><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD>
31.3) compile: <20><>VC<56><43><EFBFBD><EFBFBD>ʱ<EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>ȥ(/EDITANDCONTINUE, /OPT:ICF)<29><>ֻ<EFBFBD><D6BB>Ҫ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӾͿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
30) 2011.5.12
30.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rfc822<32><32><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD> rfc822 <20><EFBFBD><E6B7B6><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>(<28><>
<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ַ, <20><><EFBFBD><EFBFBD>) <20><><EFBFBD>н<EFBFBD><D0BD><EFBFBD>
30.2) samples: <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>Գ<EFBFBD><D4B3><EFBFBD> samples/rfc822
29) 2011.5.6
29.1) feature: aio_stream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_astream() <20>ӿڿ<D3BF><DABF>Ի<EFBFBD><D4BB><EFBFBD> ACL_ASTREAM <20><><EFBFBD><EFBFBD>
28) 2011.5.2
28.1) feature: xml.hpp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_xml_node() <20><><EFBFBD><EFBFBD>
28.2) feature: stream.hpp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> get_vstream() <20><><EFBFBD><EFBFBD>
28.3) feature: socket_stream.hpp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> open(ACL_VSTREAM*) <20><><EFBFBD><EFBFBD>
27) 2011.4.21
27.1) mime/header_opts.cpp: ȥ<><C8A5><EFBFBD><EFBFBD> header_opts_begin, header_opts_cleanup
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> acl_pthread_once, atexit <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD>ڲ<EFBFBD>
<EFBFBD><EFBFBD>ȫ<EFBFBD>־<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>һ<EFBFBD>Σ<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>ͷŸö<EFBFBD><EFBFBD><EFBFBD>
27.2) mime.cpp: mime::init(), mime::cleanup() <20>Ѿ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ô<EFBFBD><C3B4>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᱻȥ<E1B1BB><C8A5>
26) 2011.4.15
26.1) xml: <20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD><CBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1> XML <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
26.2) acl_stdafx.hpp: ȥ<><C8A5><EFBFBD><EFBFBD> *.hpp <20><><EFBFBD><EFBFBD>
25) 2011.4.14
25.1) handlersocket: <20><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD> hsproto <20>࣬ר<E0A3AC><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><E9B4A6>
24) 2011.4.9
24.1) handlersocket, hsclient: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD>
24.2) <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ڸ߰汾 gcc <20>ϵı<CFB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
23) 2011.4.7-4.8
23.1) handlersocket: <20>Ż<EFBFBD><C5BB>˴<EFBFBD><CBB4><EFBFBD><EBA3AC><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD> handlersocket <20><>Ҫ<EFBFBD><D2AA>
hspool, hsclient, hstable, hsrow <20>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
22) 2011.3.31
22.1) bugfix: log.hpp <20>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD><DCBB><EFBFBD><EFBFBD><EFBFBD> VC2003 <20>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>Ԥ֪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD> log.hpp <20>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C++<2B><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>ʽ
21) 2011.3.28
21.1) aio_xxx: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD>Ĺ<EFBFBD><C4B9>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD>ӳٶ<D3B3><D9B6><EFBFBD> BUG
20) 2011.3.25
20.1) aio_handle.cpp: <20><><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD>Ϊ WIN GUI <20><>Ϣʱ<CFA2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
19) 2011.3.16-3.20
19.1) feature: <20><><EFBFBD><EFBFBD><ECB2BD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ipc_xxx <20><><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><E0A3AC>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤
<EFBFBD>ڲ<EFBFBD>ͬ<EFBFBD>̻߳<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽ͨ<EFBFBD><EFBFBD>
19.2) feature: <20><> ipc_xxx <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ipc_manager <20><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD><D6A4><EFBFBD>߳<EFBFBD>Ϊ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ͨ<EFBFBD><EFBFBD> ipc <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>߳̽<DFB3><CCBD><EFBFBD>ͨ<EFBFBD><CDA8>
19.3) feature: <20><> ipc_manager <20>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DNS <20><EFBFBD><ECB2BD>ѯ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>ͨ<EFBFBD><EFBFBD> ipc_xxx <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
18) 2011.3.14
18.1) feature: aio_ostream/aio_istream <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD>д/<2F><><EFBFBD>Ĺ<EFBFBD><C4B9>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
17) 2011.3.13
17.1) aio_handle: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WIN32 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>֧<EFBFBD><D6A7>
17.2) aio_handle: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
16) 2011.3.10
16.1) aio_xxx: <20><><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><ECA3AC><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>:)
16.2) string.cpp: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>
15) 2011.3.8
15.1) aio: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
14) 2011.3.1
14.1) <20><><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><CBB7><EFBFBD><EFBFBD><EFBFBD>IO<49>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
13) 2011.2.26-27
13.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
aio_stream.cpp, aio_socket_stream.cpp, aio_ostream.cpp,
aio_istream.cpp, aio_listen_stream.cpp
12) 2011.2.25
12.1) <20>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> #include <20>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
11) 2011.2.23
11.1) feature: rfc2047, <20><><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EBBAAF>
11.2) feature: mime_base64, mime_xxcode, mime_uucode, mime_quoted_printable
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD>
11.3) bugfix: mem_cache, <20><><EFBFBD><EFBFBD> rfc2047 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD>м<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
10) 2011.2.22
10.1) mem_cache: <20><> key <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>˼򵥵ı<F2B5A5B5><C4B1><EFBFBD><EBB4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> memcached Э<><D0AD><EFBFBD><EFBFBD>
<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ͻ
9) 2011.2.19
9.1) bugfix: header_opts.cpp<70><70><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD><CAB9>һ<EFBFBD><D2BB><EFBFBD>̲߳<DFB3><CCB2><EFBFBD>ȫ<EFBFBD>ľ<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
8) 2011.2.17
8.1) feature: mem_cache, <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8>´<EFBFBD><C2B4>ڼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>صĽӿ<C4BD>
7) 2011.2.14
7.1) feature: mem_cache <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0> libmemcached <20><>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
7.2) samples: mem_cache/
6) 2011.2.12
6.1) feature: hsclient <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>ʹ<EFBFBD>õĺ<C3B5><C4BA><EFBFBD><EFBFBD>ӿ<EFBFBD>
5) 2011.2.10
5.1) feature: <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD> handlersocket <20><>Э<EFBFBD><D0AD>֧<EFBFBD><D6A7>, hsclient.cpp
4) 2011.1.28
4.1) feature: mime_head.cpp, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> header_values()/2, <20><><EFBFBD>ڻ<EFBFBD><DABB>öԾ<C3B6><D4BE><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>
<EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶε<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
3) 2011.1.26
3.1) bugfix: mime.cpp, body_node(), <20>в<EFBFBD><D0B2><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>HTML<4D><4C>ʽ<EFBFBD><CABD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2) 2011.1.14
2.1) bugfix: mime_state_parse.cpp, <20><><EFBFBD>ʼ<EFBFBD>Ϊ<EFBFBD><CEAA> multipart ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
body_end <20><><EFBFBD>ԣ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ǵ<EFBFBD>ǰƫ<C7B0><C6AB><EFBFBD><EFBFBD>ֵ curr_off - 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> curr_off<66><66><EFBFBD><EFBFBD>Ϊ
curr_off ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5><EFBFBD>һ<EFBFBD><D2BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>á<EFBFBD>
1) 2011.1.11
1.1) acl_wrap1.0 release