mutouyun
|
d74f4c5609
|
fix: mutex() noexcept is implicitly deleted
|
2021-06-21 00:06:17 +08:00 |
|
mutouyun
|
dd29ed5d1f
|
fix errors
|
2021-06-21 00:02:48 +08:00 |
|
mutouyun
|
40eafcfd2a
|
fix errors
|
2021-06-21 00:00:11 +08:00 |
|
mutouyun
|
d974641a07
|
for vs2015 error C3256
|
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
|
12944502a1
|
Revert "update IPC_CONCEPT_"
This reverts commit 1e5547e6dfd0605fa62be67899c6c893aa61f9fc.
|
2021-06-20 23:50:39 +08:00 |
|
mutouyun
|
8cd2a40bfd
|
update IPC_CONCEPT_
|
2021-06-20 23:50:39 +08:00 |
|
mutouyun
|
f07fc84cb8
|
add options for cmake
|
2021-06-05 18:39:31 +08:00 |
|
Gang Liang
|
4f5e150c61
|
Add install statements for headers and libipc
|
2021-05-23 10:54:10 -07: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 |
|
木头云
|
d6ab58fc6f
|
add make_align for size alignment
|
2021-05-07 15:41:32 +08:00 |
|
木头云
|
a4a7b85f47
|
static_alloc is used by default
|
2021-05-07 15:35:10 +08:00 |
|
mutouyun
|
a7bec6348b
|
格式调整
|
2021-01-10 14:45:17 +08:00 |
|
mutouyun
|
152b5515d2
|
fix: recv may block after disconnect
|
2021-01-10 14:29:23 +08:00 |
|
mutouyun
|
8e6ae4220b
|
mmb force_push 出现竞争时,应该在失败后先正常push一次
|
2021-01-09 21:42:56 +08:00 |
|
mutouyun
|
23d2007c5e
|
对mmb来说,incr上限65535不够大,调整至16,777,215
|
2021-01-03 14:03:16 +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
|
10cc2d3360
|
修正:disconnect不会自动退出wait_for_recv
|
2020-09-26 19:17:25 +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
|
1323dc736b
|
for linux
|
2020-09-20 11:57:27 +08:00 |
|
mutouyun
|
e51855f1df
|
调整代码结构
|
2020-09-20 11:43:27 +08:00 |
|
mutouyun
|
aaf67858c2
|
for linux
|
2020-09-19 18:41:33 +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
|
e8b339d25b
|
使用 gtest 替换 qtest,测试不再依赖 qt
|
2020-09-06 21:33:15 +08:00 |
|
mutouyun
|
0aeaa0f1f1
|
修正: 1. 无接收者时, send 可能返回 true; 2. Windows + MSVC 下分配器的内存异常
|
2020-08-11 22:54:21 +08:00 |
|
mutouyun
|
19f471b07c
|
[Windows] CreateFileMapping/CreateSemaphore with LPSECURITY_ATTRIBUTES.
|
2020-07-11 15:29:20 +08:00 |
|
zhangyi
|
5a92ea3031
|
update elem_def.h
|
2020-03-30 11:11:01 +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
|
6850b47e3a
|
push shouldn't return false after force_push has been called
|
2020-03-28 22:19:37 +08:00 |
|
zhangyi
|
9b2bd3787a
|
update src/prod_cons.h
|
2020-03-28 15:00:20 +08:00 |
|
mutouyun
|
91cc1b7767
|
update tls_pointer_win.cpp
|
2020-03-28 13:55:34 +08:00 |
|
zhangyi
|
bbefef4a37
|
clock_gettime => gettimeofday
|
2020-03-18 11:56:56 +08:00 |
|
zhangyi
|
8112a04833
|
fix compiling error of vs2015
|
2020-03-17 21:08:08 +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 |
|
mutouyun
|
64c29f079f
|
fine-tune
|
2019-12-14 15:14:13 +00:00 |
|
mutouyun
|
6d6047f742
|
fix compilation errors for vs2015
|
2019-11-17 17:31:40 +08:00 |
|
mutouyun
|
792a9b3339
|
fix compilation error
|
2019-10-31 23:34:00 +08:00 |
|
zhangyi
|
4f46e5a95f
|
eliminate error for old compilers
|
2019-10-24 12:54:26 +08:00 |
|
zhangyi
|
0b88505cb1
|
warning C4814
|
2019-10-24 12:32:58 +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 |
|
zhangyi
|
8da0b32d0b
|
optimize memory management and recycle strategy
|
2019-10-21 13:32:07 +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
|
f3eb6ba55a
|
fix: attempting to reference a deleted function
|
2019-10-07 11:51:37 +00:00 |
|
mutouyun
|
448a4883f6
|
optimize the memory allocator
|
2019-10-07 11:23:31 +00:00 |
|
mutouyun
|
45bf1a7b38
|
use 'replenish' for async_wrapper
|
2019-10-05 03:54:17 +00: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
|
c8cedf11cf
|
optimize memory allocator for big size memory
|
2019-07-05 18:53:30 +08:00 |
|
木头云
|
ab1624c0fe
|
suppress warning C4814
|
2019-07-04 16:58:02 +08:00 |
|
木头云
|
bd2097e608
|
Update resource.h
|
2019-07-04 16:45:34 +08:00 |
|
zhangyi
|
6b7c561496
|
fix tls bugs (win); modify data structure
|
2019-07-04 16:37:00 +08:00 |
|
mutouyun
|
9bc6604faa
|
may have memory leak (TBD)
|
2019-07-03 23:14:43 +08:00 |
|
mutouyun
|
b3ef1ed760
|
modify chunk size
|
2019-07-03 14:26:45 +00:00 |
|
mutouyun
|
3d46bcd47a
|
just use default policy for chunk_variable_alloc
|
2019-07-03 21:56:28 +08:00 |
|
zhangyi
|
449bc36bd9
|
compile error (msvc)
|
2019-07-03 18:52:04 +08: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
|
d36c3949ce
|
test cases failed
|
2019-07-02 18:56:01 +08:00 |
|
zhangyi
|
0ef1d27521
|
use chunk_variable_alloc as allocator-policy of static_async_fixed
|
2019-07-02 18:48:08 +08:00 |
|
zhangyi
|
56103e08dd
|
add variable_alloc
|
2019-07-01 19:18:32 +08:00 |
|
zhangyi
|
15e71bd1a1
|
add IPC_CONSTEXPR_;
add variable_wrapper instead of fixed_alloc_policy
|
2019-07-01 17:28:02 +08:00 |
|
mutouyun
|
ad01ec62f5
|
fix compile error for msvc
|
2019-06-30 12:15:53 +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 |
|
mutouyun
|
a351d2920b
|
modify semaphore::wait (win)
|
2019-06-08 18:08:03 +08:00 |
|
mutouyun
|
dc3ef4d4b9
|
add WAIT_ABANDONED
|
2019-06-08 13:56:02 +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
|
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 |
|
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 |
|
木头云
|
1c32826aa2
|
Update shm.cpp
|
2019-03-28 17:08:32 +08:00 |
|
zhangyi
|
89c4b1ce2a
|
add attach/detach for shm
|
2019-03-28 16:30:26 +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 |
|
zhangyi
|
15a99073e3
|
open shm should ignore size
|
2019-03-28 12:13:37 +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
|
adbc187ffe
|
compile error
|
2019-03-27 17:07:28 +08:00 |
|
zhangyi
|
d0a31d287b
|
compile error
|
2019-03-27 17:03:50 +08:00 |
|
zhangyi
|
a35b43163c
|
support removing waiter-objects forcibly
|
2019-03-27 16:58:46 +08:00 |
|
木头云
|
f6268ce62d
|
fix bug in buffer
|
2019-03-27 14:25:51 +08:00 |
|
mutouyun
|
5374eaa128
|
auto disconnect when timeout
|
2019-03-26 22:41:27 +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 |
|
zhangyi
|
6730fa578d
|
simplify
|
2019-03-26 11:10:22 +08:00 |
|
mutouyun
|
1d2f6d13ea
|
fine-tune
|
2019-03-25 23:28:49 +08:00 |
|
mutouyun
|
c49c15f640
|
for vs2015
|
2019-03-25 23:22:30 +08:00 |
|
zhangyi
|
731f61a3c1
|
optimize structure
|
2019-03-25 20:14:59 +08:00 |
|
zhangyi
|
0c911fb0a4
|
shm_win
|
2019-03-25 16:28:34 +08:00 |
|
mutouyun
|
d223e3abb8
|
fix bugs; modify shm interfaces
|
2019-03-25 16:25:14 +08:00 |
|
mutouyun
|
f2bfd0bc6c
|
fine-tune
|
2019-03-22 23:09:42 +08:00 |
|
mutouyun
|
280cc81fa2
|
remove useless codes
|
2019-03-22 22:16:53 +08:00 |
|
mutouyun
|
93030e1997
|
optimize & fix bugs
|
2019-03-22 17:49:20 +08:00 |
|
mutouyun
|
b65be99045
|
update
|
2019-03-20 23:42:18 +08:00 |
|
mutouyun
|
4049e78c32
|
fix bugs; optimize (TBD); update performance.xlsx
|
2019-03-20 18:26:41 +08:00 |
|
mutouyun
|
0d0b1e0a48
|
optimize...
|
2019-03-15 12:22:28 +08:00 |
|
mutouyun
|
46051733bb
|
optimize
|
2019-03-12 11:16:33 +08:00 |
|
mutouyun
|
eb1f15583e
|
close when destruct
|
2019-02-14 21:29:16 +08:00 |
|
mutouyun
|
478cb62c35
|
impl ipc objects (mutex, condition, semaphore)
|
2019-02-14 15:56:01 +08:00 |
|
mutouyun
|
dd80a79c3c
|
impl condition for windows
|
2019-02-14 14:11:03 +08:00 |
|
mutouyun
|
75f5090d6a
|
update chat
|
2019-02-13 18:19:28 +08:00 |
|
mutouyun
|
fd92e94e51
|
adjust naming
|
2019-02-13 07:09:10 +08:00 |
|
mutouyun
|
ed6af29264
|
fine-tune
|
2019-02-13 06:59:28 +08:00 |
|
mutouyun
|
f59d94ee17
|
Merge branch 'master' of https://github.com/mutouyun/cpp-ipc
|
2019-02-13 06:45:59 +08:00 |
|
mutouyun
|
cee63e5f81
|
fix bugs of windows-waiter
|
2019-02-13 06:45:41 +08:00 |
|
mutouyun
|
19d1724188
|
wait_if should return a value
|
2019-02-12 23:31:02 +08:00 |
|
mutouyun
|
a6d88a1208
|
ReleaseSemaphore mayn't wake WaitForSingleObject up soon
|
2019-02-12 23:28:57 +08:00 |
|
mutouyun
|
4262f7bd34
|
Merge remote-tracking branch 'remotes/origin/master'
|
2019-02-12 13:47:31 +08:00 |
|
mutouyun
|
1cf69038bb
|
clear codes
|
2019-02-12 13:46:43 +08:00 |
|
mutouyun
|
52302cc007
|
add wait-if for waiter
|
2019-02-12 13:22:49 +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
|
eef3cc01f0
|
[TBD] fine-tune code
|
2019-01-28 10:50:35 +08:00 |
|
mutouyun
|
60276495b5
|
[TBD] add test-case; fix some bugs
|
2019-01-28 10:38:09 +08:00 |
|
mutouyun
|
018bea223e
|
try semaphore
|
2019-01-27 20:43:23 +08:00 |
|
mutouyun
|
0d948b9dfd
|
compile error for vs2015 (TBD)
|
2019-01-27 15:58:10 +08:00 |
|
mutouyun
|
b76375633c
|
compile error (TBD)
|
2019-01-27 15:43:07 +08:00 |
|
mutouyun
|
fc1c058d10
|
add multi-wait (not ready, TBD)
|
2019-01-27 15:32:58 +08:00 |
|
mutouyun
|
c667f1513f
|
add multi-wait (not ready, TBD)
|
2019-01-27 15:24:30 +08:00 |
|
mutouyun
|
e86d3e10e1
|
modify producer-consumer policy flag
|
2019-01-26 11:20:04 +08:00 |
|
mutouyun
|
59197f6c68
|
split condition & mutex from waiter-linux
|
2019-01-25 22:57:47 +08:00 |
|
mutouyun
|
c3f66d47bb
|
prepare multi routes implementation
|
2019-01-25 18:28:39 +08:00 |
|
mutouyun
|
7461dc88ed
|
for vs2015
|
2019-01-25 16:49:02 +08:00 |
|
mutouyun
|
efe7353e55
|
adjust default data_length
|
2019-01-25 16:35:41 +08:00 |
|