174 Commits

Author SHA1 Message Date
mutouyun
1a71313431 no automatically clear 2019-01-25 14:00:50 +08:00
mutouyun
6ec8ca9a9e test... 2019-01-25 13:17:43 +08:00
mutouyun
fac45ec38f remove locked_fixed_alloc 2019-01-25 13:08:33 +08:00
mutouyun
99926581d1 add error log (TBD); use pthread api for waiter 2019-01-25 11:59:53 +08:00
木头云
3c6ba58b41
Update queue.h 2019-01-25 07:32:57 +08:00
mutouyun
3dc97ab6a6 try semaphore 2019-01-25 01:22:56 +08:00
mutouyun
a4b93f60cf waiter_impl -> waiter_wrapper 2019-01-25 00:11:26 +08:00
mutouyun
e8dda2c1d4 remove __has_include(<pthread.h>) 2019-01-24 23:47:45 +08:00
mutouyun
512de713f1 remove Wno-unused-variable 2019-01-24 23:20:50 +08:00
mutouyun
67972a8c7c add log 2019-01-24 23:13:15 +08:00
mutouyun
b2e48fc138 printf failure-log 2019-01-24 23:05:52 +08:00
mutouyun
34ea7095d9 test... 2019-01-24 22:27:20 +08:00
mutouyun
3713d46f3e remove clear_recv 2019-01-24 21:51:22 +08:00
mutouyun
2650ff0b0b compile error 2019-01-24 17:57:33 +08:00
mutouyun
5c9a8e0311 remove is_fixed (TBD) 2019-01-24 17:55:23 +08:00
mutouyun
949d338f31 prepare for elem_chan 2019-01-24 13:14:00 +08:00
mutouyun
12119f0f65 refactor 2019-01-24 12:13:13 +08:00
mutouyun
881b060d1f refactor 2019-01-23 11:44:26 +08:00
mutouyun
290b94902a define locked_pool_alloc 2019-01-21 12:02:38 +08:00
mutouyun
4d2b47cbb7 prepare for multi-thread fixed-alloc 2019-01-20 22:22:47 +08:00
mutouyun
27d6b0c7f5 define spin_lock 2019-01-20 21:04:16 +08:00
mutouyun
a7d9a3d476 adjust tls 2019-01-20 20:31:55 +08:00
mutouyun
52f447111c page_fixed_alloc 2019-01-18 18:45:19 +08:00
mutouyun
c625a2e5ff IPC_UNUSED_ 2019-01-18 17:40:43 +08:00
mutouyun
b52eae7c90 IPC_UNUSED_ 2019-01-18 17:27:41 +08:00
mutouyun
44a9a4b98f try compatible with old compilers 2019-01-18 14:43:58 +08:00
mutouyun
99692221b7 try compatible with old compilers 2019-01-18 14:11:30 +08:00
mutouyun
e5a5b9f680 compatible with old compilers 2019-01-18 12:47:41 +08:00
mutouyun
6a3c3cde23 fine-tune code 2019-01-17 15:50:56 +08:00
mutouyun
c69b351ae9 fine-tune code 2019-01-17 10:15:48 +08:00
mutouyun
d25f070627 use waiter for wait_for_recv 2019-01-16 18:06:21 +08:00
mutouyun
e09ea90949 implement waiter_linux.h 2019-01-16 17:03:34 +08:00
mutouyun
d1822e9fc9 shm would fail with multi-thread accessing 2019-01-16 14:01:12 +08:00
mutouyun
7e44b2dd4d shm would fail with multi-thread accessing 2019-01-16 13:56:25 +08:00
mutouyun
127233ce94 qmake error 2019-01-15 23:25:45 +08:00
mutouyun
639eaa676e qmake error 2019-01-15 23:20:50 +08:00
mutouyun
b78257de86 update 2019-01-15 21:42:02 +08:00
mutouyun
8832877c6d update 2019-01-15 21:37:56 +08:00
mutouyun
d9e24236af add waiter for long-time wait. (TBD) 2019-01-15 21:22:09 +08:00
mutouyun
b62d5a3946 circ_elem_array => circ_elem 2019-01-15 15:14:46 +08:00
mutouyun
0f6d8b3cd7 queue_t::array_t => queue_t::elems_t 2019-01-15 15:08:00 +08:00
mutouyun
b87e96b43c ipc::circ::prod_cons => ipc::prod_cons_circ; ipc::circ::queue => ipc::queue 2019-01-15 14:42:52 +08:00
mutouyun
612a59ae31 ipc::circ::relat => ipc::relat; ipc::circ::trans => ipc::trans 2019-01-14 23:10:27 +08:00
mutouyun
cfd175dbdc fix bugs; simplify codes 2019-01-08 22:37:34 +08:00
mutouyun
148344b09b update files 2019-01-08 18:35:58 +08:00
mutouyun
6c1c3afbc4 update ipc.cpp 2019-01-08 18:24:40 +08:00
mutouyun
efc0500047 remove multi_recv 2019-01-08 18:19:18 +08:00
mutouyun
79f6775324 use circ::prod_cons to implement route & channel 2019-01-08 18:02:34 +08:00
mutouyun
27eb5ee99b use ipc::yield 2019-01-06 23:20:19 +08:00
mutouyun
621078abbd error: declared ‘static’ in ‘constexpr’ function 2019-01-06 22:42:06 +08:00
mutouyun
224ea72547 use elem_array<ipc::circ::prod_cons> 2019-01-06 22:30:55 +08:00
mutouyun
d67a2076ed remove channel::send_for 2019-01-02 16:37:41 +08:00
mutouyun
eae565dfc8 adjust code 2019-01-02 12:37:18 +08:00
mutouyun
2e26176234 update performence data; add implementation of pool_alloc::clear 2019-01-02 11:58:55 +08:00
mutouyun
e1c3594ca5 using ipc::buffer instead of std::vector<byte_t> 2018-12-31 22:22:54 +08:00
mutouyun
3bea8af992 eliminate potential problems 2018-12-30 21:17:25 +08:00
mutouyun
cba780e9dc make pool_alloc public 2018-12-30 20:34:00 +08:00
mutouyun
319bcdab2f add test for pool_alloc 2018-12-30 16:28:14 +08:00
mutouyun
2941007301 use pool_alloc instead of std::allocator 2018-12-29 22:42:26 +08:00
mutouyun
8c75f8ad84 pool_alloc (TBD) 2018-12-29 18:31:01 +08:00
mutouyun
812d4b3be5 optimize channel performance 2018-12-29 12:12:27 +08:00
mutouyun
02a5920697 try pool_alloc (TBD) 2018-12-29 00:51:31 +08:00
mutouyun
64fc26733e use tls::pointer instead of thread_local 2018-12-28 14:53:34 +08:00
mutouyun
4253c1341c fix some bugs; add performance data to README.md 2018-12-27 20:06:36 +08:00
mutouyun
0ea8e27446 still has some bugs 2018-12-26 18:22:34 +08:00
mutouyun
492d095332 noexcept; adjust memory order 2018-12-24 13:29:20 +08:00
mutouyun
b815a5e50f channel::send will wait for a while & return false if there is no receiver 2018-12-24 12:11:50 +08:00
mutouyun
0eb61b8745 adjust file naming; supplement test cases 2018-12-24 11:56:42 +08:00
mutouyun
e54e9898fc complete all functions of ipc::channel (TODO: ut, benchmark) 2018-12-20 16:31:38 +08:00
mutouyun
70e1ac6865 linux shm should clear itself when all handles pointed it are released 2018-12-20 11:38:40 +08:00
mutouyun
238166bdc1 compile errors 2018-12-19 16:49:30 +08:00
mutouyun
d0b4999af4 re-add ipc::channel (TBD); use hpp instead of cpp to implement channel/route, cause it could visit the internal entities which in ipc.cpp 2018-12-19 16:37:26 +08:00
mutouyun
9cbfb8624f separate def of route into a single cpp (test) 2018-12-19 12:18:53 +08:00
mutouyun
69449c0d4f fix clang-test crash 2018-12-19 11:37:31 +08:00
木头云
4c75b44547
reinterpret_cast may not be used in a constant expression. 2018-12-18 20:30:08 +08:00
mutouyun
69bc556a52 redesigning & refactoring (TBD) 2018-12-18 20:09:31 +08:00
mutouyun
09c3c557ba fix some bugs; use thread_local 2018-12-17 22:44:37 +08:00
mutouyun
cca70b018c improve test cases (has bugs) 2018-12-17 19:07:18 +08:00
mutouyun
d61aa5e5df fix bugs; modify test case; add some helper using & functions 2018-12-17 11:49:13 +08:00
mutouyun
59a9df60c4 add test case 2018-12-17 00:00:13 +08:00
mutouyun
f09378b481 fix some bugs; if __has_include(<pthread.h>), using tls_pointer_linux.cpp; add some channel::send overloads 2018-12-16 21:30:55 +08:00
mutouyun
7982eb94c9 fix some bugs 2018-12-16 10:33:00 +08:00
mutouyun
d6afba1d7a add channel ut 2018-12-15 22:51:40 +08:00
mutouyun
ee2a4e1106 adjust code 2018-12-15 21:47:58 +08:00
mutouyun
44ab812925 rename thread_local_ptr => tls::pointer 2018-12-15 19:30:22 +08:00
mutouyun
0285e2d6e1 mv thread_local_ptr.h to include 2018-12-15 11:57:02 +08:00
mutouyun
0c6a3862d0 use thread_local_ptr instead of thread_local 2018-12-14 23:57:31 +08:00
mutouyun
1e44d6f84e pimpl small object optimization 2018-12-14 18:50:20 +08:00
mutouyun
5ffc820983 use rw_lock for ipc with multi-thread 2018-12-12 23:31:22 +08:00
mutouyun
c40dddcc06 fix bugs; optimize performance 2018-12-12 18:49:10 +08:00
mutouyun
29d25e2226 add benchmark for lock-test 2018-12-12 17:48:02 +08:00
mutouyun
eb2e75d5b7 eliminate warnings 2018-12-11 21:02:24 +08:00
mutouyun
449cf75da9 put rw_lock to a single header file 2018-12-11 20:56:13 +08:00
mutouyun
0a17257388 rw_lock (TBD) 2018-12-11 18:46:04 +08:00
mutouyun
f3a73fcc4d remove std::string from export interface 2018-12-11 17:34:54 +08:00
mutouyun
a3c90d9f8b use nested class in pimpl 2018-12-11 17:08:13 +08:00
mutouyun
85bb05bb52 complete ipc send & recv; prepare ipc::channel; add ipc ut (basic test); add ut suit name; 2018-11-30 17:32:09 +08:00
mutouyun
9540842ba7 add ipc.cpp for implementation of ipc interfaces (TBD); restructure code 2018-11-29 23:05:53 +08:00
mutouyun
21789676e7 move circ_elem_array.h to include dir 2018-11-27 20:50:40 +08:00
zhangyi
c7f49fad5a cross-platform 2018-11-27 11:41:08 +08:00