147 Commits

Author SHA1 Message Date
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
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
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
8bc8feb68f add IPC_EXPORT for tls 2018-12-16 11:53:56 +08:00
mutouyun
d6afba1d7a add channel ut 2018-12-15 22:51:40 +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
69cfad56c3 mv ipc::yield from def.h to rw_lock.h 2018-12-14 11:29:17 +08:00
mutouyun
7b812c3c6e optimize lock_shared 2018-12-14 11:21:46 +08:00
mutouyun
c47175360c fix bug, remove rw_cas_lock 2018-12-14 00:00:45 +08:00
mutouyun
96c2a037f3 considering a different implementation, may have bugs 2018-12-13 18:37:06 +08:00
mutouyun
a26f171124 max defined in <windows.h> 2018-12-13 15:40:19 +08:00
mutouyun
7a7426a8b8 poor performance on arm-a7 2018-12-13 11:50:26 +08:00
mutouyun
b6248ad5dc use ipc::yield instead of this_thread::yield 2018-12-13 11:00:21 +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
bc25cd6912 change interface name for rw_lock 2018-12-12 16:14:04 +08:00
mutouyun
eccded45c2 add thread_fence 2018-12-12 09:54:08 +08:00
mutouyun
35a8f95619 test rw_lock 2018-12-12 00:03:42 +08:00
mutouyun
449cf75da9 put rw_lock to a single header file 2018-12-11 20:56:13 +08:00
mutouyun
1b047bd975 fix compiling errors 2018-12-11 20:52:15 +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
d5b5b3e0f4 def ipc::uint<N>; optimize code 2018-12-11 16:58:51 +08:00
mutouyun
caabc24b71 adjust elem_t construction 2018-11-30 22:16:44 +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
zhangyi
c8e81e2794 use std::atomic<std::size_t> instead of flag for better performance in arm; cross-platform supporting; add more test cases 2018-11-30 15:13:44 +08:00
mutouyun
b3e2c80fc0 use spin lock for multi-producers 2018-11-30 11:38:50 +08:00
mutouyun
9540842ba7 add ipc.cpp for implementation of ipc interfaces (TBD); restructure code 2018-11-29 23:05:53 +08:00
mutouyun
518fc000e7 add ipc.h 2018-11-29 18:33:58 +08:00
mutouyun
b3ad167970 fix wrong word 2018-11-29 00:20:15 +08:00
mutouyun
7d91b187fe fix bugs of circ_queue 2018-11-29 00:14:37 +08:00
zhangyi
c9ce4b466a add circ_queue test (TBD) 2018-11-28 11:53:10 +08:00
mutouyun
2905b55fcf ipc::circ::queue & test_queue 2018-11-27 22:16:03 +08:00
mutouyun
fa2c8200bf prepare for circ_queue 2018-11-27 20:57:34 +08:00
mutouyun
21789676e7 move circ_elem_array.h to include dir 2018-11-27 20:50:40 +08:00
mutouyun
17375bb32c add circ_queue 2018-11-20 23:04:32 +08:00
mutouyun
050bb02198 first commit for shm. 2018-11-20 11:27:39 +08:00