mutouyun
|
415be36477
|
ipc::sync::mutex for linux
|
2021-09-11 15:52:48 +08:00 |
|
木头云
|
78be14be37
|
Merge branch 'develop' into master
|
2021-08-29 11:05:24 +08:00 |
|
mutouyun
|
df3cf1b4c4
|
modify to_tchar test
|
2021-08-15 15:10:29 +08:00 |
|
mutouyun
|
e8cf471615
|
modify to_tchar test
|
2021-08-15 14:42:47 +08:00 |
|
mutouyun
|
619f84cacc
|
还原最朴素的写法
|
2021-08-15 14:18:09 +08:00 |
|
mutouyun
|
3c7e94a167
|
modify cmakelists options
|
2021-08-15 13:23:43 +08:00 |
|
mutouyun
|
c9d92b5364
|
CP_ACP => CP_UTF8
|
2021-08-15 12:40:32 +08:00 |
|
mutouyun
|
8170836534
|
utf-8 for test cpp
|
2021-08-07 18:37:23 +08:00 |
|
mutouyun
|
df8bca22c3
|
codecvt_utf8_utf16/std::wstring_convert is deprecated
|
2021-08-07 18:33:45 +08:00 |
|
winsoft666
|
43179d6ea0
|
Add USE_STATIC_CRT option to support static CRT(/MT).
|
2021-07-30 17:50:02 +08:00 |
|
mutouyun
|
d0f965359d
|
recycle storage for large message
|
2021-07-11 15:56:30 +08:00 |
|
mutouyun
|
57a62bc073
|
fix some bugs
|
2021-07-11 13:13:31 +08:00 |
|
mutouyun
|
e3c8f8edc1
|
adjust test, chunk_storages revert to static
|
2021-07-11 13:13:31 +08:00 |
|
mutouyun
|
98a3449865
|
fix some bugs, adjust the test cases
|
2021-07-11 13:13:30 +08:00 |
|
mutouyun
|
7bedfbfb5b
|
fix: large message cache may not be recycled with multiple receivers
|
2021-07-11 13:11:24 +08:00 |
|
mutouyun
|
69e1586b5a
|
remove tls
|
2021-07-10 14:22:31 +08:00 |
|
mutouyun
|
a970ace446
|
using IPC_OS_* in test
|
2021-06-20 23:50:39 +08:00 |
|
mutouyun
|
455c0b479d
|
add sync::mutex for windows/linux
|
2021-06-20 23:50:39 +08:00 |
|
mutouyun
|
85342dcaa6
|
test/profiler
|
2021-06-20 23:50:39 +08:00 |
|
mutouyun
|
563aabfe4b
|
add profiler from adah1972
|
2021-06-20 23:50:39 +08:00 |
|
mutouyun
|
ef2988b6e1
|
add test for robust(windows)
|
2021-06-06 18:50:24 +08:00 |
|
mutouyun
|
6746e1a740
|
add test for robust
|
2021-06-06 18:23:18 +08:00 |
|
mutouyun
|
f07fc84cb8
|
add options for cmake
|
2021-06-05 18:39:31 +08:00 |
|
mutouyun
|
6163618433
|
针对不同类型的策略,增加不同的sender/receiver个数检查。
- is_multi_producer:sender无限制;否则仅允许一个
- is_multi_consumer:receiver个数上限依赖is_broadcast指定;否则仅允许一个
- is_broadcast:receiver个数上限为32(uint_t<32>位数);否则无限制(uint_t<32>大小)
行为变更:
1. 在连接时根据模式检查sender/receiver是否超出上限,超出则返回false
2. 在send时确认是否允许发送(对receiver模式来说,send之前不会尝试确认sender个数)
3. 修正若干bug
|
2021-01-03 12:52:03 +08:00 |
|
mutouyun
|
c4617a2290
|
'elem-array::connect' should always return 0 when the connection-slot is full.
|
2021-01-01 13:28:25 +08:00 |
|
mutouyun
|
7545e17084
|
简化接口
|
2020-09-20 12:20:55 +08:00 |
|
mutouyun
|
523d38d247
|
调整目录结构,隔离include路径,修正tls在win下的问题
|
2020-09-13 17:29:14 +08:00 |
|
木头云
|
94c1043025
|
Update test_ipc.cpp
|
2020-09-13 15:49:25 +08:00 |
|
木头云
|
f21ebccbb2
|
disable TEST(Memory, *)
|
2020-09-13 15:22:47 +08:00 |
|
木头云
|
a75333f644
|
Update test_mem.cpp
|
2020-09-13 15:18:05 +08:00 |
|
mutouyun
|
326bc10b2d
|
优化ut,修正tls中的bug
|
2020-09-13 15:06:47 +08:00 |
|
mutouyun
|
e2d53359f6
|
EXPECT_STREQ
|
2020-09-06 21:56:28 +08:00 |
|
mutouyun
|
be82cfb322
|
disable TEST(Memory, pool_alloc)
|
2020-09-06 21:47:48 +08:00 |
|
mutouyun
|
e8b339d25b
|
使用 gtest 替换 qtest,测试不再依赖 qt
|
2020-09-06 21:33:15 +08:00 |
|
zhangyi
|
d762634380
|
add impl of force_push for single-single-unicast; make test_circ works
|
2020-03-29 14:28:53 +08:00 |
|
zhangyi
|
0323f31b2b
|
fix compiling error of vs2015
|
2020-03-17 21:15:53 +08:00 |
|
zhangyi
|
3eeeec88a0
|
fix bugs of force_push; set PTHREAD_MUTEX_ROBUST to mutex in linux
|
2020-03-17 20:58:54 +08:00 |
|
zhangyi
|
dbe6d6d3c6
|
fix bugs of large message buffer cache & recycle
|
2019-10-24 12:23:52 +08:00 |
|
zhangyi
|
d4bf94c2a3
|
use big message cache
|
2019-10-23 16:23:07 +08:00 |
|
zhangyi
|
a20a10c590
|
warning: comparison of integers of different
|
2019-10-08 09:45:14 +08:00 |
|
mutouyun
|
d3afbdedc6
|
revert async_pool_alloc
|
2019-10-07 12:32:12 +00:00 |
|
mutouyun
|
1fd8e27994
|
void automatic memory recovery
|
2019-10-07 12:18:26 +00:00 |
|
mutouyun
|
448a4883f6
|
optimize the memory allocator
|
2019-10-07 11:23:31 +00:00 |
|
mutouyun
|
56484c0c8f
|
optimize the memory allocator
|
2019-10-05 03:48:24 +00:00 |
|
zhangyi
|
c8cedf11cf
|
optimize memory allocator for big size memory
|
2019-07-05 18:53:30 +08:00 |
|
zhangyi
|
6b7c561496
|
fix tls bugs (win); modify data structure
|
2019-07-04 16:37:00 +08:00 |
|
mutouyun
|
b3ef1ed760
|
modify chunk size
|
2019-07-03 14:26:45 +00:00 |
|
zhangyi
|
a4a6a9ca66
|
fix some bugs; improve memory allocators
|
2019-07-03 18:41:46 +08:00 |
|
mutouyun
|
fbf3c622e8
|
fine-tune
|
2019-07-02 23:07:39 +08:00 |
|
zhangyi
|
15e71bd1a1
|
add IPC_CONSTEXPR_;
add variable_wrapper instead of fixed_alloc_policy
|
2019-07-01 17:28:02 +08:00 |
|
木头云
|
4aecd5b28b
|
disable mem test cases
|
2019-06-30 12:16:54 +08:00 |
|
mutouyun
|
36d85e4b41
|
modify test cases of mem;
sync_pool_alloc => async_pool_alloc, synchronized => async_wrapper; statical => static_wrapper;
optimize ipc::mem::allocator;
use std::hardware_destructive_interference_size for cache_line_size (TBD);
simplified codes.
|
2019-06-30 12:02:12 +08:00 |
|
zhangyi
|
89a4722b20
|
test 16 => 8
|
2019-06-18 13:10:43 +08:00 |
|
zhangyi
|
30fa347f56
|
use shm::id_t instead of shm::handle in conn_info_head
|
2019-06-18 11:53:43 +08:00 |
|
mutouyun
|
fe689c9208
|
optimize
|
2019-04-07 17:01:51 +08:00 |
|
mutouyun
|
557a849bdf
|
update shm interfaces
|
2019-03-28 12:08:02 +08:00 |
|
zhangyi
|
731f61a3c1
|
optimize structure
|
2019-03-25 20:14:59 +08:00 |
|
mutouyun
|
d223e3abb8
|
fix bugs; modify shm interfaces
|
2019-03-25 16:25:14 +08:00 |
|
mutouyun
|
280cc81fa2
|
remove useless codes
|
2019-03-22 22:16:53 +08:00 |
|
mutouyun
|
4049e78c32
|
fix bugs; optimize (TBD); update performance.xlsx
|
2019-03-20 18:26:41 +08:00 |
|
mutouyun
|
46051733bb
|
optimize
|
2019-03-12 11:16:33 +08:00 |
|
mutouyun
|
bffa8ae6b8
|
update performance data
|
2019-02-13 12:12:04 +08:00 |
|
mutouyun
|
cee63e5f81
|
fix bugs of windows-waiter
|
2019-02-13 06:45:41 +08:00 |
|
mutouyun
|
a6d88a1208
|
ReleaseSemaphore mayn't wake WaitForSingleObject up soon
|
2019-02-12 23:28:57 +08:00 |
|
mutouyun
|
f7f06ab052
|
give up multi-wait temporarily
|
2019-02-04 10:41:39 +08:00 |
|
mutouyun
|
e94318c9a6
|
fix bugs for waiter of linux (still has some bugs in win, multi-wait is TBD)
|
2019-01-31 14:57:42 +08:00 |
|
mutouyun
|
60276495b5
|
[TBD] add test-case; fix some bugs
|
2019-01-28 10:38:09 +08:00 |
|
mutouyun
|
e86d3e10e1
|
modify producer-consumer policy flag
|
2019-01-26 11:20:04 +08:00 |
|
mutouyun
|
617d18e1ce
|
Wno-class-memaccess
|
2019-01-25 22:40:05 +08:00 |
|
mutouyun
|
99926581d1
|
add error log (TBD); use pthread api for waiter
|
2019-01-25 11:59:53 +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
|
64a0c1a5f2
|
test...
|
2019-01-24 22:20:34 +08:00 |
|
mutouyun
|
4bddccf523
|
test...
|
2019-01-24 22:13:38 +08:00 |
|
mutouyun
|
3713d46f3e
|
remove clear_recv
|
2019-01-24 21:51:22 +08:00 |
|
mutouyun
|
38449a598d
|
fix test error
|
2019-01-24 18:43:50 +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
|
61cc1fd863
|
adjust test
|
2019-01-22 23:04:09 +08:00 |
|
mutouyun
|
429e92983a
|
adjust test case
|
2019-01-21 12:28:29 +08:00 |
|
mutouyun
|
290b94902a
|
define locked_pool_alloc
|
2019-01-21 12:02:38 +08:00 |
|
mutouyun
|
27d6b0c7f5
|
define spin_lock
|
2019-01-20 21:04:16 +08:00 |
|
mutouyun
|
88d9f8b225
|
try compatible with old compilers
|
2019-01-18 14:59:59 +08:00 |
|
mutouyun
|
e5a5b9f680
|
compatible with old compilers
|
2019-01-18 12:47:41 +08:00 |
|
mutouyun
|
be15b2377f
|
fine-tune code
|
2019-01-17 17:34:33 +08:00 |
|
mutouyun
|
7e44b2dd4d
|
shm would fail with multi-thread accessing
|
2019-01-16 13:56:25 +08:00 |
|
mutouyun
|
e3f963d2b4
|
circ_elem.h => elem_circ.h; organ => orgnz; elem_head => conn_head
|
2019-01-15 15:27:06 +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
|
60d1a6d00c
|
update file
|
2019-01-08 18:42:52 +08:00 |
|
mutouyun
|
148344b09b
|
update files
|
2019-01-08 18:35:58 +08:00 |
|
mutouyun
|
79f6775324
|
use circ::prod_cons to implement route & channel
|
2019-01-08 18:02:34 +08:00 |
|
mutouyun
|
164402b21b
|
add prod_cons<relat::multi, relat::multi, trans::broadcast>
|
2019-01-07 19:10:56 +08:00 |
|
mutouyun
|
0dfbfd3fbf
|
adjust ipc::sleep
|
2019-01-07 15:25:03 +08:00 |
|
mutouyun
|
224ea72547
|
use elem_array<ipc::circ::prod_cons>
|
2019-01-06 22:30:55 +08:00 |
|
mutouyun
|
8e104ded0f
|
add prod_cons<relat::multi, relat::multi, trans::unicast>
|
2019-01-05 16:09:56 +08:00 |
|
mutouyun
|
ea52920b7d
|
msleep(1)
|
2019-01-05 14:35:25 +08:00 |
|
mutouyun
|
f388a0a360
|
fix compiling error; preparing to refactor
|
2019-01-04 22:11:19 +08:00 |
|
mutouyun
|
17621c1e83
|
preparing to refactor
|
2019-01-04 18:48:21 +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
|
2b0f39e96e
|
test detail::pool_alloc
|
2018-12-30 20:45:32 +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
|
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
|
dc5cb05cbd
|
eliminate warnings
|
2018-12-28 16:07:16 +08:00 |
|
mutouyun
|
c3f7abf2e1
|
update benchmark data
|
2018-12-28 15:59:13 +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
|
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
|
2e05a0260d
|
remove test_performance...
|
2018-12-17 23:15:43 +08:00 |
|
mutouyun
|
c80fbb32ea
|
remove test_prod_cons<1, 8>()
|
2018-12-17 22:58:01 +08:00 |
|
mutouyun
|
99beccd157
|
error: ‘unordered_map’ in namespace ‘std’ does not name a template type
|
2018-12-17 22:48:59 +08:00 |
|
mutouyun
|
cc19a4e941
|
eliminate warning
|
2018-12-17 22:45:32 +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
|
0b3a561c53
|
test_channel may fail unexpectedly
|
2018-12-17 14:17:43 +08:00 |
|
mutouyun
|
09ec67182a
|
fix QCOMPARE link error
|
2018-12-17 13:58:29 +08:00 |
|
mutouyun
|
a5580b915e
|
define QVERIFY_EXCEPTION_THROWN if it's not exist
|
2018-12-17 13:44:48 +08:00 |
|
mutouyun
|
3b5878902a
|
modify test case
|
2018-12-17 12:23:35 +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
|
885abd0c21
|
adjust code
|
2018-12-16 23:22:57 +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
|
d6afba1d7a
|
add channel ut
|
2018-12-15 22:51:40 +08:00 |
|
mutouyun
|
1e44d6f84e
|
pimpl small object optimization
|
2018-12-14 18:50:20 +08:00 |
|
mutouyun
|
238f769f7a
|
adjust test case
|
2018-12-14 10:34:45 +08:00 |
|
mutouyun
|
17e923e67a
|
remove benchmark of ipc::rw_cas_lock
|
2018-12-14 09:47:08 +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
|
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
|
35a8f95619
|
test rw_lock
|
2018-12-12 00:03:42 +08:00 |
|
mutouyun
|
9c9ca8f5c4
|
(void) => ()
|
2018-12-11 22:28:29 +08:00 |
|