1
0
mirror of https://github.com/tearshark/librf.git synced 2024-10-02 00:00:11 +08:00
Commit Graph

94 Commits

Author SHA1 Message Date
tearshark
b6fa1c4e49 完善when_all/when_any的文档。
删减一些不必要的宏。
2020-03-31 10:55:43 +08:00
tearshark
2d92dd0dde 删除是否多线程调度的选择宏,现在都是多线程调度。
完善event的文档
2020-03-29 23:10:38 +08:00
tearshark
7d40fa6d5e 整理代码,以便于控制doxygen的结果 2020-03-29 14:31:07 +08:00
tearshark
1589272e12 整理channel_v2代码,并添加详细注释。 2020-03-29 08:35:42 +08:00
tearshark
b70b49a3d2 兼容xcode 2020-03-26 17:35:12 +08:00
tearshark
9f1aaf5923 兼容Xcode 2020-03-26 17:26:39 +08:00
tearshark
34b2a4cad2 mutex增加协程中手工解锁的功能 2020-03-26 14:30:59 +08:00
tearshark
bebda7391d 整理测试代码 2020-03-23 17:19:59 +08:00
tearshark
6fef43340a 审查mutex_v2代码 2020-03-22 14:19:10 +08:00
tearshark
9d94bfa30c 完善mutex_t的接口 2020-03-22 02:05:14 +08:00
tearshark
e22ae5dc12 完成无死锁mutex批量加锁 2020-03-22 00:50:54 +08:00
tearshark
9f74f6c198 mutex_t完善无死锁批量加锁 2020-03-20 18:23:06 +08:00
tearshark
a949d1f4c8 完成mutex_t的无死锁批量加锁功能 2020-03-20 18:13:31 +08:00
tearshark
fb1d8d39e5 mutex_v2增加超时等待功能
修改无死锁锁定多个锁的算法,以便于支持mutex_v2
2020-03-20 01:04:52 +08:00
tearshark
18ff251233 增加yield()支持
可以获得调用链的跟节点
切换协程方法的修改
mutex_t增加try_lock()实现
2020-03-19 17:46:10 +08:00
tearshark
8af94ea0fc 完善mutex_v2代码 2020-03-18 21:46:55 +08:00
tearshark
946656e34e 实现mutex第二版 2020-03-18 18:36:39 +08:00
tearshark
ca0177e3bb 兼容clang 2020-03-17 23:40:39 +08:00
tearshark
d09152280c 完善event_v2的wait_all功能 2020-03-17 18:26:22 +08:00
tearshark
ba477e9252 完成event_v2的wait_any 2020-03-17 01:40:42 +08:00
tearshark
a31da60a94 clang的一个bug导致when_all/any代码可能编译失败。
不得已更换切换调度器的写法。
2020-03-15 22:20:21 +08:00
tearshark
6c9110a3e4 解决vector<bool>导致的问题
启用event_v2版本代码
event_v2尽量兼容event_v1用法
2020-03-14 17:20:31 +08:00
tearshark
fb22854f30 完善concept的使用 2020-03-14 12:05:41 +08:00
tearshark
979d220df7 使用concept来完成when_all/when_any。 2020-03-14 11:04:13 +08:00
tearshark
2d0a597b85 整理类型萃取代码
when_all/when_any接受functor。functor必须得返回一个awaitor
2020-03-12 23:03:04 +08:00
tearshark
aba74aaa19 重新实现when_all/when_any 2020-03-12 16:56:23 +08:00
tearshark
c863f50ff1 获得当前协程帮定的调度器 2020-03-11 22:30:42 +08:00
tearshark
1b344cc651 event支持超时 2020-03-10 22:34:50 +08:00
tearshark
a5459300b9 新版本的event实现 2020-03-10 21:31:05 +08:00
tearshark
1d2d17a2bb 提高协程切换测试4ns. 2020-03-09 18:13:10 +08:00
tearshark
da9c2fa75f 更新一些测试方案 2020-03-09 17:59:07 +08:00
tearshark
50841a1d2f 增加一种新的测试channel的方法 2020-03-09 17:36:36 +08:00
tearshark
a14fd0d640 channel为多线程优化提供手段 2020-03-09 16:45:04 +08:00
tearshark
d4a95348b2 优化channel的缓存数据的方式 2020-03-09 15:31:30 +08:00
tearshark
d854bd00f6 重写channel的实现方法 2020-03-09 14:23:35 +08:00
tearshark
ac11ce9f6f 优化channel实现,使用循环队列完成channel数据缓存 2020-03-09 08:17:52 +08:00
tearshark
f33d4c471a 企图实现一个更加简洁和lock-free的event。 2020-03-04 11:23:10 +08:00
tearshark
837a2827ba 将异常和返回值做成union以减小state的大小。
支持返回引用。
2020-03-02 23:39:09 +08:00
tearshark
fee671711d 减少state加锁的次数
增加future对yield的测试
2020-03-02 14:50:01 +08:00
tearshark
4061c32f3f clang通过除asio外的所有测试 2020-03-01 13:17:04 +08:00
tearshark
0739e99ab2 全面兼容clang编译器,并通过大部分测试范例 2020-03-01 12:13:41 +08:00
tearshark
3ba9a56cae 优化一点内存占用空间和性能
更好的兼容clang
版本升级到2.2.1
2020-02-29 01:11:21 +08:00
tearshark
9ae5ee31f3 完善切换调度器的功能 2020-02-27 14:45:55 +08:00
tearshark
f19966d85e 增加切换调度器的功能
版本号升级到2.2.0
2020-02-27 14:05:45 +08:00
tearshark
469d583cad 多线程里使用channel测试通关 2020-02-21 09:36:59 +08:00
tearshark
a5b28cd778 完整编译x64+x86 2020-02-19 17:01:55 +08:00
tearshark
3badb4e13f 增加测试内存布局的范例 2020-02-19 16:05:19 +08:00
tearshark
d1de24135f generator_t的state也跟promise分配在一起。 2020-02-18 14:48:51 +08:00
tearshark
9dcb2d8baf 将state和协程所用的内存分配到一起。
处理好协程的析构
2020-02-18 13:15:16 +08:00
tearshark
a61c9b2c64 优化state的内存布局和大小 2020-02-18 11:42:42 +08:00