acl/lib_acl_cpp/changes.txt

941 lines
33 KiB
Plaintext
Raw Normal View History

<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------------------
2013-10-20 18:12:47 +08:00
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>
2013-11-05 22:23:23 +08:00
------------------------------------------------------------------------
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>
2013-10-20 18:12:47 +08:00
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>
2013-11-05 22:23:23 +08:00
------------------------------------------------------------------------
2013-10-20 18:12:47 +08:00
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>
2013-08-27 22:04:32 +08:00
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