230 Commits

Author SHA1 Message Date
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
0b504f7b48 fix: expected ( before ; token 2022-05-22 20:34:56 +08:00
mutouyun
82072214d8 fix: fatal error span 2022-05-22 18:31:33 +08:00
mutouyun
fcca475076 add: [log] implement simple log function (TBD) 2022-05-22 18:29:18 +08:00
mutouyun
c1557a72ac fix: [vs2015] error C3250: 'u': declaration is not allowed in 'constexpr' function body 2022-05-15 19:58:53 +08:00
mutouyun
d129e6221a fix: ‘detail_result’ does not name a type 2022-05-15 19:40:58 +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
9e170999a1 add: additional notes 2022-05-15 18:24:51 +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
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
e5f722937e add 'result' 2022-04-17 11:42:04 +08:00
mutouyun
85931e7d20 add shm.h 2022-04-03 17:10:48 +08:00
mutouyun
67bdae6fd7 修正一些bug 2022-02-27 23:50:28 +08:00
mutouyun
c32615dbda 调整代码格式和注释 2022-02-27 21:22:43 +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
a2e5cc7804 修正和改进posix errno打印 2022-02-04 17:48:24 +08:00
mutouyun
d946ad0948 modify interface of sync.condition 2021-10-23 17:27:08 +08:00
mutouyun
f6bd578c8a reduce the number of recheck times for the sleep function 2021-09-20 23:29:30 +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
0cccdac868 merge issue-61; add condition for linux 2021-09-19 17:21:39 +08:00
mutouyun
d37a6740ea add ut for sync::semaphore 2021-09-12 21:48:22 +08:00
mutouyun
d0e2a4d80c add semaphore for win 2021-09-12 15:59:44 +08:00
木头云
78be14be37
Merge branch 'develop' into master 2021-08-29 11:05:24 +08:00
木头云
d80bea9b5d
fix: unexpected crash
An unexpected crash caused by an unconnected exit.
2021-08-23 13:10:03 +08:00
mutouyun
98a3449865 fix some bugs, adjust the test cases 2021-07-11 13:13:30 +08:00
mutouyun
69e1586b5a remove tls 2021-07-10 14:22:31 +08:00
mutouyun
cca4664e84 option(LIBIPC_BUILD_SHARED_LIBS 'Build shared libraries (DLLs).' OFF) 2021-07-10 13:50:46 +08:00
mutouyun
455c0b479d add sync::mutex for windows/linux 2021-06-20 23:50:39 +08:00
木头云
681f8e6736
add large_msg_align for cache memory alignment 2021-05-07 15:48: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
af6ac84110 add comments 2021-01-01 12:39:32 +08:00
mutouyun
2255ae685a 调整接口;添加 msg_que demo 2020-09-20 14:55:47 +08:00
mutouyun
85c9eecdfd 避免编译时的命名冲突 2020-09-20 12:37:47 +08:00
mutouyun
7545e17084 简化接口 2020-09-20 12:20:55 +08:00
mutouyun
bce3894707 添加正常退出的机制(win) 2020-09-19 17:37:33 +08:00
mutouyun
523d38d247 调整目录结构,隔离include路径,修正tls在win下的问题 2020-09-13 17:29:14 +08:00
mutouyun
326bc10b2d 优化ut,修正tls中的bug 2020-09-13 15:06:47 +08:00
木头云
e87d516b1d
Update tls_pointer.h 2020-03-20 12:20:28 +08:00
mutouyun
b9cc885568 adjust constant definition 2020-03-04 13:24:43 +08:00
mutouyun
17c0bc76c3 buffer::data<T>()->T* => buffer::get<T>()->T 2020-03-04 12:37:48 +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
8da0b32d0b optimize memory management and recycle strategy 2019-10-21 13:32:07 +08:00
mutouyun
56484c0c8f optimize the memory allocator 2019-10-05 03:48:24 +00:00
mutouyun
659989fd31 fix tls's defect 2019-09-21 14:21:57 +00:00
zhangyi
6b7c561496 fix tls bugs (win); modify data structure 2019-07-04 16:37:00 +08:00
mutouyun
fbf3c622e8 fine-tune 2019-07-02 23:07:39 +08:00
zhangyi
cf0028bf09 don't use std::function 2019-06-18 23:42:34 +08:00
zhangyi
a2d918dec2 try using ipc::string 2019-06-18 19:29:58 +08:00
zhangyi
30fa347f56 use shm::id_t instead of shm::handle in conn_info_head 2019-06-18 11:53:43 +08:00
zhangyi
ce3e9869fb use one shm-block for big message (>= 4096) 2019-05-06 16:19:19 +08:00
mutouyun
ad9818a89b move concept & pimpl helpers to single header respectively 2019-04-04 23:25:51 +08:00
mutouyun
2079c8eafb rename parameter 2019-04-04 23:15:53 +08:00
mutouyun
5784b29521 update tls 2019-04-01 23:00:00 +08:00
zhangyi
ca6815c601 adjust interface for connect 2019-04-01 18:07:15 +08:00
zhangyi
755bea8112 add attach/detach for shm 2019-03-28 16:23:31 +08:00
zhangyi
2e2cf82d91 add dismiss for shm 2019-03-28 13:04:29 +08:00
mutouyun
557a849bdf update shm interfaces 2019-03-28 12:08:02 +08:00
mutouyun
10e6cca8b0 support for specified shm modes 2019-03-27 22:55:36 +08:00
zhangyi
a35b43163c support removing waiter-objects forcibly 2019-03-27 16:58:46 +08:00
mutouyun
6cc2913f6b crash may cause deadlock 2019-03-26 22:24:25 +08:00
zhangyi
5affd26da6 try send/recv; support sending timeout; fix bugs 2019-03-26 19:12:59 +08:00
zhangyi
785abd1845 support timeout 2019-03-26 14:08:08 +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
b65be99045 update 2019-03-20 23:42:18 +08:00
mutouyun
478cb62c35 impl ipc objects (mutex, condition, semaphore) 2019-02-14 15:56:01 +08:00
mutouyun
52302cc007 add wait-if for waiter 2019-02-12 13:22:49 +08:00
mutouyun
e86d3e10e1 modify producer-consumer policy flag 2019-01-26 11:20:04 +08:00
mutouyun
c3f66d47bb prepare multi routes implementation 2019-01-25 18:28:39 +08:00
mutouyun
efe7353e55 adjust default data_length 2019-01-25 16:35:41 +08:00
mutouyun
99926581d1 add error log (TBD); use pthread api for waiter 2019-01-25 11:59:53 +08:00
mutouyun
3713d46f3e remove clear_recv 2019-01-24 21:51:22 +08:00
mutouyun
5c9a8e0311 remove is_fixed (TBD) 2019-01-24 17:55:23 +08:00
mutouyun
12119f0f65 refactor 2019-01-24 12:13:13 +08:00
mutouyun
799e5db963 compile error 2019-01-23 12:03:59 +08:00
mutouyun
f104bc4397 compile error 2019-01-23 11:52:56 +08:00
mutouyun
881b060d1f refactor 2019-01-23 11:44:26 +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
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
e5a5b9f680 compatible with old compilers 2019-01-18 12:47:41 +08:00
mutouyun
7b5ab36fc1 prepare new policies for queue 2019-01-17 17:47:43 +08:00
mutouyun
be15b2377f fine-tune code 2019-01-17 17:34:33 +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
d9e24236af add waiter for long-time wait. (TBD) 2019-01-15 21:22:09 +08:00
mutouyun
8af8f99df3 add elem_link.h 2019-01-15 15:40:13 +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