348 Commits

Author SHA1 Message Date
mutouyun
a392b88787 upd: [pmr] helper trait for allocator 2022-11-14 21:32:00 +08:00
木头云
ba66b59575 upd: [test] SUCCEED 2022-11-13 11:02:09 +00:00
mutouyun
6bd967323d add: [pmr] new_delete_resource & ut 2022-11-13 18:54:18 +08:00
mutouyun
15d89aed5c add: [imp] byte & ut 2022-11-12 16:29:38 +08:00
mutouyun
2e0f074287 add: [concur] define concurrent algorithms separately 2022-11-07 22:57:20 +08:00
mutouyun
8e40adc1f1 add: [ipc] concurrent (TBD) 2022-11-07 21:29:19 +08:00
mutouyun
375c25bd1e upd: [imp] improve interface of system 2022-11-06 17:57:07 +08:00
mutouyun
94cae29b42 upd: [imp] improve interface of result 2022-11-06 17:39:08 +08:00
mutouyun
d15181fa49 fix: [imp] codecvt in win 2022-10-30 16:15:33 +08:00
mutouyun
d55d9f549f add: [ipc] shared_memory object 2022-10-30 16:09:02 +08:00
mutouyun
af654d5769 upd: [imp] sys::error ut 2022-10-30 15:25:56 +08:00
mutouyun
d003e94076 add: [imp] sys::error object 2022-10-30 15:21:45 +08:00
mutouyun
938ba67c7a upd: [imp] using the win api corresponds to the character set conversion in win 2022-10-30 14:55:15 +08:00
mutouyun
a0076f6bfb add: [imp] span ut 2022-10-29 19:19:11 +08:00
mutouyun
081e20bfd6 add: [imp] span (TBD) 2022-10-16 20:10:41 +08:00
mutouyun
daa63049fe upd: [test] ut 2022-10-15 14:19:47 +08:00
mutouyun
57d8c7a850 add: [ipc] implementation of shm (TBD) 2022-09-18 17:27:14 +08:00
mutouyun
9e625b603b add: [ipc] implementation of memory mapping (TBD) 2022-09-04 21:57:05 +08:00
mutouyun
c604fadbea add: [system] (TBD) sys::conf page_size 2022-08-14 21:55:44 +08:00
mutouyun
64a3ba24e7 upd: [system] adjust the output format of the error message 2022-08-14 13:45:21 +08:00
mutouyun
6329d6c66b add: [system] obtained the string describing error number in Linux 2022-08-14 13:25:21 +08:00
mutouyun
0a439427ee fix: [test] error_msg for linux 2022-08-13 18:39:47 +08:00
mutouyun
d40f8db307 fix: [test] error_msg for linux 2022-08-13 18:36:57 +08:00
mutouyun
cbda80e4b8 add: [system] error_msg for linux 2022-08-13 18:35:29 +08:00
mutouyun
9cbdcbd54f fix: [test] system.error_msg for Windows 2022-08-13 18:16:01 +08:00
mutouyun
2abfebd2a0 add: [test] try to print system error code 2022-08-13 18:05:43 +08:00
mutouyun
01c28816a2 add: [system] add features 2022-08-13 18:02:25 +08:00
mutouyun
e9742ab28a add: [codecvt] conversion for the same character type 2022-08-13 15:23:23 +08:00
mutouyun
ce52a1176c add: [codecvt] character set encoding conversion interface 2022-08-07 22:29:11 +08:00
mutouyun
56ee0e12df add: [log] exception handling for log printing 2022-08-07 17:51:30 +08:00
mutouyun
df3890d0c5 fix: [log] adjust code interface and fix bugs 2022-05-29 17:58:37 +08:00
mutouyun
e1de7f9638 add: [log] a simple implementation to be optimized 2022-05-23 00:19:07 +08:00
mutouyun
fcca475076 add: [log] implement simple log function (TBD) 2022-05-22 18:29:18 +08:00
mutouyun
29188f939c add: [mmap] add interface declarations 2022-05-15 19:35:58 +08:00
mutouyun
e21da4fe2d add: [result] an additional status code can be returned on failure to return a pointer 2022-05-15 19:20:30 +08:00
mutouyun
c704aef5f1 modify: adjust result so that it adjusts the output based on the type 2022-05-15 18:15:39 +08:00
mutouyun
4efb50070d add benchmark 2022-05-15 16:38:20 +08:00
mutouyun
7d6eac4e6b add: libimp for utilities 2022-04-23 18:30:43 +08:00
mutouyun
2fb49eb3c4 add ut 2022-04-17 12:23:01 +08:00
mutouyun
695462db48 fix vc2015 countof ut 2022-03-01 13:03:02 +08:00
mutouyun
daa3c30f4c 添加countof ut 2022-03-01 11:03:29 +08:00
mutouyun
1ff5900a6d 调整ut;添加新utility小工具 2022-03-01 10:59:30 +08:00
mutouyun
67bdae6fd7 修正一些bug 2022-02-27 23:50:28 +08:00
mutouyun
b30eeaf1f6 微调ut 2022-02-27 21:01:54 +08:00
mutouyun
21f34bd99c 在可能的情况下使用std的construct_at/destroy_at 2022-02-27 18:30:42 +08:00
mutouyun
c54e052838 调整ut文件命名 2022-02-27 18:05:25 +08:00
mutouyun
23b7780485 添加部分有用的小组件 2022-02-27 18:03:30 +08:00
mutouyun
f18c27ec29 开始重构 2022-02-27 17:13:28 +08:00
mutouyun
20168fb869 尝试去除恶心的连接检测(TBD) 2022-02-27 13:47:25 +08:00
mutouyun
2e35ab7685 Added QNX support 2022-01-02 17:54:07 +08:00
mutouyun
3344bbf799 impl robust mutex & condition (using alephzero's mtx implementation) 2021-10-23 19:06:33 +08:00
mutouyun
96551d5fcb fix compilation errors caused by paths 2021-10-23 17:27:55 +08:00
mutouyun
d946ad0948 modify interface of sync.condition 2021-10-23 17:27:08 +08:00
mutouyun
a457a8975f using 'signal' to quit waiting explicitly 2021-09-21 13:09:59 +08:00
mutouyun
f6bd578c8a reduce the number of recheck times for the sleep function 2021-09-20 23:29:30 +08:00
mutouyun
7a536b6e9c impl quit_waiting 2021-09-20 22:18:27 +08:00
mutouyun
b8f5e2ba6f validate close in waiter 2021-09-20 22:03:36 +08:00
mutouyun
ed8b1fd608 fix some bugs for linux-mutex 2021-09-20 20:31:08 +08:00
mutouyun
04fda1cc3d use sync to refactor waiter 2021-09-20 15:59:44 +08:00
mutouyun
c1ceaa657a 实现condition_win 2021-09-19 22:26:32 +08:00
mutouyun
0cccdac868 merge issue-61; add condition for linux 2021-09-19 17:21:39 +08:00
mutouyun
4ca300b3e5 Merge branch 'issue-61' into develop 2021-09-19 16:29:31 +08:00
mutouyun
be6f16f87f revert some changes 2021-09-19 16:29:06 +08:00
mutouyun
94ad05ce35 调整ut 2021-09-18 00:11:11 +08:00
mutouyun
d37a6740ea add ut for sync::semaphore 2021-09-12 21:48:22 +08:00
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