Commit Graph

575 Commits

Author SHA1 Message Date
郑树新
b20b7bacb7 db module support getting length of field value 2019-05-27 12:11:30 +08:00
zhengshuxin
b1b7d08a0c compiling optimization to get smaller library's size 2019-05-19 16:54:20 +08:00
zhengshuxin
b71b8840bf replace assert with abort 2019-05-18 22:03:53 +08:00
zsxxsz
53583d8a9d add compiling macro option ACL_CLIENT_ONLY to decrease the library's size for
client software.
2019-05-18 21:19:21 +08:00
zhengshuxin
0c89422256 redis_stream.cpp: optimize READGROUP/XREAD commands. 2019-05-14 11:28:55 +08:00
zhengshuxin
70d46d567b XREADGROUP/XREAD should be blocked when block is 0 2019-05-14 11:13:49 +08:00
zhengshuxin
d62bb45cd6 tcp_keeper: fixed one bug in keeper_conn.cpp;
server_socket: remove one constructur method;
2019-04-28 16:17:17 +08:00
zsxxsz
ede94861d2 add zpopmin/zpopmax/bzpopmin/bzpopmax in redis_redis 2019-04-27 21:23:12 +08:00
郑树新
75382fd8fd Merge branch 'master' into 'master'
Compatible with application/json and application/xml in http

See merge request !4
2019-03-14 16:17:39 +08:00
郑树新
b6f9803959 Build ok for Android Studio 3.3.2 ! 2019-03-07 16:40:47 +08:00
liqiang01
603ff28580 Compatible with application/json and application/xml in http 2019-03-06 20:13:13 +08:00
郑树新
9135e09db7 fixed compiling error for vc 2019-02-12 13:38:57 +08:00
zsx
8d90bd12e8 scan_dir::rmdir_callback: rm empty directory as default 2019-02-02 14:24:14 +08:00
zsx
4934df5291 scan_dir::rmdir_callback: rmdir the empty directory as default 2019-02-02 14:18:17 +08:00
zsx
74369b46dc scan_dir: empty directory can be removed when scanning directories 2019-02-01 18:47:19 +08:00
zsx
3b4b19a542 fixed bugs in scan_dir module 2019-02-01 13:49:27 +08:00
zsx
64d1c2458b thread::start: add sync start thread way 2019-01-30 16:43:02 +08:00
zsx
5acbcf50cc connect_manager::check_idle: fixed one bug when pools_size is 0 2019-01-21 13:19:49 +08:00
zsx
db2d293a3e tcp_keeper is ok! 2019-01-15 11:57:19 +08:00
zsx
7b4033f749 http_request::check_range should compatible the situation when the returned range value is less than the given value. 2019-01-14 14:43:29 +08:00
zsx
5bb7daf807 tcp_keeper: add ttl controling for connection and connections pools;
http_request/http_client add controling parameters
2018-12-29 15:42:03 +08:00
zsx
6d3b542e4f move connect_pool::reset_statistics's implement to source code from header 2018-12-28 13:52:30 +08:00
zsx
c89341b77b optimize connect_pool 2018-12-19 13:31:46 +08:00
zsx
bd6375fe2a connect_manager: support fiber running in threads 2018-12-16 16:47:51 +08:00
zsxxsz
d9bdd8aac6 restructure connect_manager for supporting fiber 2018-12-16 14:12:50 +08:00
zsxxsz
80461d5c51 optimize connect_manager 2018-12-15 23:32:41 +08:00
郑树新
c97297b00c connect manager 2018-12-14 20:25:10 +08:00
郑树新
fdf69ce9a4 connect_manager improvment 2018-12-14 20:19:19 +08:00
zsx
e82b63b025 format code style 2018-12-12 11:16:12 +08:00
zsx
98f9efeae3 fixed one bug in redis_stream::get_one_message() 2018-12-12 10:49:19 +08:00
zsx
e8028180cf expand redis_stream::xadd with subcommand MAXLEN 2018-12-11 15:29:35 +08:00
zsx
be9863f203 add comments for redis_stream module. 2018-12-11 14:06:53 +08:00
zsx
66a560e37f fixed bugs in client_wakeup of acl_threads_server.c;
acl::fiber_tbox and acl::fiber_cond are ok.
2018-12-06 15:50:13 +08:00
zsx
45dc0ee481 fixed one bug for websocket module 2018-12-02 21:28:03 +08:00
zhengshuxin
ff5bc053b9 redis_stream benchmark testing 2018-12-02 20:15:27 +08:00
zhengshuxin
7fbcd4d56b testing acl::redis_stream ok! 2018-12-02 14:58:41 +08:00
zsx
33535e8b6f add task_qlen and threads_pool in master_threads 2018-11-28 20:50:31 +08:00
zhengshuxin
fafce8ce67 testing acl::redis_stream 2018-11-25 23:16:25 +08:00
zsx
7a934e149c One bug in sha1 was fixed by dawei.lin@net263.com. 2018-11-22 22:18:25 +08:00
zsx
7683a7bc2e add redis_stream into IDE projects for vc and xcode. 2018-11-16 13:28:55 +08:00
zhengshuxin
26cd06ba65 add supporting for XCLAIM redis command. 2018-11-14 23:24:32 +08:00
zsx
c4cafbebc1 adding redis stream ... 2018-11-14 19:00:58 +08:00
zhengshuxin
72a71f878d adding xpending ... 2018-11-11 23:04:33 +08:00
zhengshuxin
8c0b4e79d3 add redis_stream::xinfo command 2018-11-11 21:59:52 +08:00
zhengshuxin
ac361045fd adding xinfo in redis_stream. 2018-11-11 09:14:23 +08:00
zhengshuxin
a4040edd93 redis_stream: add more commands including "XTRIM, XDEL, XRANGE, XREVRANGE, XLEN, XACK" 2018-11-08 23:09:14 +08:00
zhengshuxin
5abbaa1a8b redis_stream: implement XREADGROUP command. 2018-11-07 23:20:44 +08:00
zhengshuxin
c201fd13af supporting redis-stream ... 2018-11-06 00:03:52 +08:00
zhengshuxin
d453e86828 websocket::send_frame_data can be called multiple. 2018-10-20 22:43:08 +08:00
zhengshuxin
7b343621e0 after the connection with redis-server is created, the dbnum can be selected in acl::redis_client, acl::redis_client_pool. 2018-10-20 22:20:57 +08:00
zhengshuxin
1ec33ddd2b format code style 2018-10-20 20:36:08 +08:00
zhengshuxin
f4ed8742fb fixed bugs in websocket::read_frame_data and WebSocketServlet.cpp. 2018-10-20 00:30:02 +08:00
zsx
c949a3be7a add proc_on_unbind in master_udp 2018-10-08 16:32:44 +08:00
zhengshuxin
e00cd9391d add multiple constructor for server_socket to avoid compling error for some using cases. 2018-10-08 14:00:58 +08:00
zhengshuxin
b46fea21d4 add end_with in acl::string 2018-10-07 21:35:46 +08:00
zsx
3217e70bb5 use acl_socket_alive as the new method for checking the socket's aliving status. 2018-09-29 11:30:42 +08:00
郑树新
c0c1b22e69 add acl_socket_alive for checking if the given socket is aliving. 2018-09-29 11:03:35 +08:00
zsx
97fddf37a2 bugfix: acl_inet_connect_ex of acl_inet_connect.c should support domain:port format 2018-09-28 17:52:18 +08:00
zsxxsz
893facc629 add open flag for aio_listen_stream 2018-09-22 09:58:21 +08:00
zsxxsz
cb218497b6 add new flag to control if disable SO_REUSEADDR when binding the local
listening addr.
2018-09-22 09:40:33 +08:00
zsx
7847375f25 The acl_inet_ntop should use ':' as the seperate for IPV4, or the acl_udp_server.c will mismatch the changed IPV4 addrs;
The sstreams_ in master_udp.cpp should be protected by mutex avoiding multipule-threads change it in the same time.
2018-09-21 21:56:21 +08:00
zsx
f15c17ae29 build ok for Mac 2018-09-17 14:20:45 +08:00
zsx
f27af8b424 acl support IPV6 is OK now! 2018-09-16 21:49:58 +08:00
zsx
afa223c6b3 fixed Linux's bug in acl_inet_pton of IPV6 addrs that using getaddrinfo other than inet_pton 2018-09-14 23:33:23 +08:00
zsx
f1737e7a92 fixed bugs in string::begih_with 2018-09-08 21:33:44 +08:00
zsx
ac3bcf1f98 fixed bugs in acl::string::begin_with API 2018-09-08 13:58:49 +08:00
zsx
e361d22fdf if values_'s size doesn't equal to names_'s size, just return one error other than abort. 2018-09-03 15:35:38 +08:00
zsx
7720fec1db add log info in db_row::filed_value 2018-09-03 14:56:20 +08:00
zsxxsz
8ebffc404a add sqlite_cursor for supporting the Sqlite's cursor operation. 2018-09-02 20:38:33 +08:00
zsx
808023c5a2 change charset from utf-8 to gbk for some files merged. 2018-08-24 17:49:13 +08:00
郑树新
6772f92d9b !1 修复在 FreeBSD 8.x 上编译的一个错误
Merge pull request !1 from lsgx/fix-freebsd8-error
2018-08-24 17:40:43 +08:00
zsx
2cd040b856 improvment the performance of acl::token_tree class;
add benchmark for token_tree.
2018-08-20 22:28:27 +08:00
zsx
92615556b4 there's some comments error in token_tree 2018-08-20 11:07:20 +08:00
zsx
eca1d07747 fixed one bug in token_tree's destructor 2018-08-20 10:31:12 +08:00
zsxxsz
001dd3f0eb add create_delimiters_tab/free_delimiters_tab in class token_tree. 2018-08-19 22:36:18 +08:00
zsx
6f18301ac8 add token_tree class for 256-fork matching tree;
format the files with DOS format.
2018-08-19 15:31:26 +08:00
zsx
a90ebcf86e there are some changes in the interfaces's meaning of thread_cond::wait, server_socket::accept. 2018-08-17 16:50:30 +08:00
zsx
e8fad9062a fixed some compiling warning 2018-08-08 11:45:37 +08:00
zsx
76b6bd1086 bugfix: there's one bug in db_mysql::sane_mysql_query when one connection lost and the db handle be set NULL, we should re-connect. 2018-08-07 22:25:12 +08:00
zsx
0c7b9b420e bugfix: json's serialization can't support double type with the integer type;
feature: add methods in acl::string which can use std::string.
2018-07-24 18:45:51 +08:00
zsx
581677bffc There is one bug in acl::HttpServlet which session will not be freed 2018-07-10 21:37:25 +08:00
zsx
87ba0c1f80 add try_lock in acl::fstream 2018-07-05 14:14:06 +08:00
zsx
37b326bd44 add file lock method in acl::fstream 2018-07-05 13:56:10 +08:00
Charlie Root
82708780d8 fixed one compiling error for freebsd8 by jjx 2018-07-01 22:09:12 +08:00
zsx
33a4bdbb36 acl::thread's default status been set has been changed from detachable to joinable. 2018-06-29 09:42:27 +08:00
zhengshuxin
2aa9e0748d rewrite tbox with pure C++ template class 2018-06-28 21:04:54 +08:00
zsx
16f5b7f964 thread_cond: compiling error for wait overriding 2018-06-19 18:22:46 +08:00
郑树新
fc8cbb7eea compiling warning by vc because the utf-8 charset 2018-06-15 15:33:37 +08:00
zsx
6caa04227d thread_cond::wait add locked parameter for one locking condition 2018-06-15 15:25:09 +08:00
zsx
d0d856c33f check_client: just choose one from on_refused and on_timeout to report connection status 2018-06-05 14:42:35 +08:00
zsx
37766ec612 fixed one comiling error for connect_monitor 2018-06-05 14:16:55 +08:00
zsx
bd32773edc connect_monitor: change params for on_refused and on_timeout methods 2018-06-05 14:09:46 +08:00
郑树新
6176ef4b37 add on_connected/on_refused/on_timeout callbacks in connect_monitor 2018-06-04 18:00:32 +08:00
zhengshuxin
8df8eb76ff fixed one problem in redis_key::renamenx about the incorrect type of the returned value 2018-05-23 22:33:27 +08:00
zhengshuxin
29befff6c2 fixed one problem in redis_key::renamenx about the incorrect type of the returned value 2018-05-23 22:22:14 +08:00
zhengshuxin
4f1958d796 fixed one problem in redis_key::renamenx about the incorrect type of the returned value. 2018-05-23 22:20:22 +08:00
zsx
4221226341 add features in redis_client_cluster & connect_manager 2018-05-14 15:28:39 +08:00
zhengshuxin
3053425333 fixed on bug in redis_pubsub.cpp when subscribe multi-channels in one connection 2018-05-06 17:23:07 +08:00
zhengshuxin
dcbd9224ef fixed one important bug in redis_command.cpp, don't call clear in run() method 2018-05-04 14:45:53 +08:00
郑树新
ff440103c3 http module: unsafe uri can be corrected internal. 2018-04-27 11:44:02 +08:00
zsx
57d48b9870 fiber module can be built by xcode;
add diff module into acl_cpp xcode project;
2018-04-25 11:58:53 +08:00
郑树新
e35a0b00e7 change comment charset to gb18030 2018-04-19 15:33:16 +08:00
zsx
1236fe6652 add diff algorithm 2018-04-19 14:46:43 +08:00
zsx
ca9d9f16f3 thread_cond::wait don't save log info when waiting timeout 2018-04-12 21:16:52 +08:00
zsx
3d7e929db4 let atomic_long::atomic_long(const atomic_long&) public 2018-04-08 15:46:48 +08:00
zsx
0a22cd42ef acl::thread can be used for more than once --- by 562351190@qq.com 2018-04-08 14:35:27 +08:00
zsx
7afcf03ced add gson_helper.ipp in lib_acl.hpp 2018-04-03 15:48:13 +08:00
zsx
5b4aa1ae4c add redis_role class 2018-03-22 19:08:15 +08:00
zsx
308c172654 add redis_role class 2018-03-22 19:04:42 +08:00
zsx
02719d7b6b fixed one bug in thread_cond::wait there was one problem when computing timeout 2018-03-19 10:49:45 +08:00
zsxxsz
919aabfa9c add redis_sentinel class in redis module 2018-03-18 23:43:31 +08:00
zsx
d8ab35a1ac serialize gson: should support the std::map object is optional 2018-02-22 11:50:24 +08:00
zsx
ab6e5fb2b7 add string header in server_socket.hpp 2018-02-13 18:03:24 +08:00
郑树新
87b2fd1508 redis_client.cpp: add authing_ for authing in dead loop. 2018-02-05 12:04:35 +08:00
郑树新
342f42c38a fiber: support winsock IOCP event. 2018-02-01 18:40:31 +08:00
zsx
7329f830e9 server_socket supports SO_REUSEPORT on Linux3.x 2018-01-29 23:33:49 +08:00
郑树新
49a92e9348 fiber io can also stop automaticly when no IO and no timers been set. 2018-01-22 18:38:50 +08:00
zsxxsz
521cdffe83 build ok for vc2003 2018-01-21 18:13:48 +08:00
郑树新
5a45a0d886 win32 message fiber event 2018-01-11 19:13:31 +08:00
zsxxsz
2abefabbc8 add last_nready in aio_handle class getting the count of events. 2018-01-09 23:45:13 +08:00
郑树新
2baa98a8fc fixed one bug in bitmap.cpp when calling reset();
adding win32 gui message event for fiber
2018-01-08 15:21:57 +08:00
zsx
344d370715 modify redis_node class for redis.4.x.x 2018-01-01 11:05:05 +08:00
zsx
e089381026 redis_cluster: support CLUSTER NODES for redis.4.x.x 2018-01-01 10:58:43 +08:00
zsx
612bced38d http_header::add_entry: add param replace for checking if replade the old exist value 2017-12-28 17:55:46 +08:00
zhengshuxin
a418cba784 adding fiber's implement for freebsdd 2016-01-14 13:01:36 +08:00
zsx
27009dac7b changed logger_error to logger 2017-12-14 21:31:00 +08:00
zsx
e8da0142a4 fixed one compiling error with cmake 2017-12-14 18:35:18 +08:00
zsx
4f0e2cc8dd feature: master can bind udp with unix domain path 2017-12-12 19:18:33 +08:00
zsx
fa113a12e7 acl stream and servers support UNIX domain socket in UDP packet mode 2017-12-10 22:23:37 +08:00
zsx
1b164db078 ssl: polarssl_conf's init should not in constructor 2017-12-07 16:24:21 +08:00
zsx
ea896f9aed redis: fixed bugs when objs were binary data 2017-12-05 12:01:24 +08:00
ubuntu14
ea4414c31e polarssl_conf: fixed one bug 2017-12-03 15:16:43 +08:00
ubuntu14
42c1eb8b2d polarssl_conf: fixed one bug when loading polarssl library 2017-12-03 14:54:47 +08:00
ruki
987385ea6e add xmake.lua 2017-11-30 10:04:15 +08:00
zhengshuxin
781b0a048a add acl::tbox class for transfering messages between multi-threads. 2017-11-14 10:52:44 +08:00
zhengshuxin
859ac18cab string: fixed one bug in operator < and > 2017-11-07 22:58:41 +08:00
zhengshuxin
284a672677 redis: fixed one bug in redis_hash::hmset 2017-10-27 00:05:28 +08:00
zhengshuxin
1050d4e45f event_mutex: add event_mutex sample in fiber mode; testing event_mutex ok in threads & fibers running modes. 2017-10-08 00:06:12 +08:00
zhengshuxin
cf735fe123 add event_mutex into lib_acl_cpp, which can support threads & fibers
mutex by using IO + atomic as mutex
2017-10-06 23:05:14 +08:00
zhengshuxin
cbab14ffb2 when openning one connection is blocked in peek(), this operation
will block the other threads's when calling peek(), so the open()
should be aparted from lock scope.
2017-10-06 17:53:02 +08:00
zhengshuxin
3d71e10668 fiber: fiber_lock can trigger immediately with IO event 2017-10-01 13:54:57 +08:00
zhengshuxin
563ce8a395 feature: thread_mutex supports recursive parameter;
feature: fiber_mutex supports thread_mutex;
2017-09-29 17:35:17 +08:00
zhengshuxin
83724d3e8a valgrind: free global objects when process exiting to avoid valgrind reporting error. 2017-09-28 12:29:20 +08:00
zhengshuxin
c57beda5df method name in bitmap class maybe collision with some macro on some platfom 2017-09-21 16:18:15 +08:00
zhengshuxin
5a44b8c0dc remove test codes from tcp_pool.cpp 2017-09-19 10:57:35 +08:00
zhengshuxin
785ec6dc95 merge tcp_pool.cpp 2017-09-19 10:55:33 +08:00
zhengshuxin
08e241acb8 add trigger.hpp for trigger events by time. 2017-09-18 18:59:59 +08:00
郑树新
0ddf61cd7a add comments into thread_cond.hpp & thread_mutex.hpp 2017-09-13 18:02:30 +08:00
zhengshuxin
3d864ea148 one compiling warning on clang5.0 2017-09-12 18:11:58 +08:00
zhengshuxin
70957fad04 invalid date submit from FreeBSD 2017-09-11 13:57:59 +08:00