118 Commits

Author SHA1 Message Date
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
349094561f horrible_cast 2021-07-11 13:13:31 +08:00
mutouyun
628914d428 try to adjust recycling strategy for large message cache 2021-07-11 13:13:30 +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
木头云
a85199d2d4
Update ipc.cpp
fix bug: id == invalid_value not processed.
2021-05-07 16:47:49 +08:00
木头云
9aab0d4f21
Update ipc.cpp
Optimizes the number of handles to the large message cache.
2021-05-07 16:03:33 +08:00
mutouyun
152b5515d2 fix: recv may block after disconnect 2021-01-10 14:29:23 +08:00
mutouyun
f2335bb38b send之前还是应该简单检查连接个数 2021-01-03 13:12:49 +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
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
e51855f1df 调整代码结构 2020-09-20 11:43:27 +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
mutouyun
0aeaa0f1f1 修正: 1. 无接收者时, send 可能返回 true; 2. Windows + MSVC 下分配器的内存异常 2020-08-11 22:54:21 +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
mutouyun
b9cc885568 adjust constant definition 2020-03-04 13:24:43 +08:00
zhangyi
dbe6d6d3c6 fix bugs of large message buffer cache & recycle 2019-10-24 12:23:52 +08:00
zhangyi
80452b574b warning C4267 2019-10-23 16:50:18 +08:00
zhangyi
d4bf94c2a3 use big message cache 2019-10-23 16:23:07 +08: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
zhangyi
15e71bd1a1 add IPC_CONSTEXPR_;
add variable_wrapper instead of fixed_alloc_policy
2019-07-01 17:28:02 +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
0beb0b4a13 invalid large message storage 2019-06-19 15:30:30 +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
ba5c8f57cf add IPC_FALLTHROUGH_([[fallthrough]]) 2019-06-18 12:26:19 +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
7795156656 modify recv_cache from static member function to global function 2019-06-16 17:24:44 +08:00
mutouyun
b3c577988b use storage-flag, simplify codes, use one acc handle for all connections & messages. 2019-06-16 17:10:03 +08:00
zhangyi
6f5c594dcf clean msg-storage quickly 2019-05-06 17:21:30 +08:00
zhangyi
ce3e9869fb use one shm-block for big message (>= 4096) 2019-05-06 16:19:19 +08:00
zhangyi
518550070d fix bugs in force-push 2019-04-30 15:20:33 +08:00
mutouyun
fe3fc07829 remove useless code 2019-04-07 17:11:00 +08:00
mutouyun
fe689c9208 optimize 2019-04-07 17:01:51 +08:00
mutouyun
8a8c534f53 use ipc::detail::max/min instead of std::max/min 2019-04-05 18:24:16 +08:00
mutouyun
2079c8eafb rename parameter 2019-04-04 23:15:53 +08:00
zhangyi
ca6815c601 adjust interface for connect 2019-04-01 18:07:15 +08:00
zhangyi
b00ebfe460 memory access may out of bounds 2019-03-29 15:12:15 +08:00
mutouyun
6cc2913f6b crash may cause deadlock 2019-03-26 22:24:25 +08:00
木头云
05e481290e
eliminate warning 2019-03-26 19:17:22 +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