61 Commits

Author SHA1 Message Date
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
2941007301 use pool_alloc instead of std::allocator 2018-12-29 22:42:26 +08:00
mutouyun
02a5920697 try pool_alloc (TBD) 2018-12-29 00:51:31 +08:00
mutouyun
0ea8e27446 still has some bugs 2018-12-26 18:22:34 +08:00
mutouyun
6a2c7671db adjust memory order 2018-12-24 14:22:02 +08:00
mutouyun
a4079ab7af compiling error 2018-12-24 13:34:42 +08:00
mutouyun
492d095332 noexcept; adjust memory order 2018-12-24 13:29:20 +08:00
mutouyun
f962dc4cb5 adjust comment 2018-12-20 17:19:08 +08:00
mutouyun
b5ae2746a2 not throw but waiting when size == 0 2018-12-20 17:14:27 +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
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