forked from lyjdamzwf/chaos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
110 lines (70 loc) · 3.8 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Chaos 0.223-beta 2012.6.21
*) 首发
Chaos 0.24-beta 2012.7.15
*) 增加统计组件 - statistic
*) 增加connector_service
*) 修复task_service_group_t::stop时由于内部
service数据互相投递导致的崩溃问题
*) 增加各模块的trace日志
*) 增加network_config对socket选项的配置
*) 修复各模块静态库打印不了warn级别以下日志
的问题
Chaos 0.24-8-gba14387-beta 2012.7.29
*) 优化了解析数据包进行拼接时的内存分配
*) task_service主循环中增加异常捕获
Chaos 0.3.25-beta 2012.8.6
*) 解决了对高版本gcc/g++的兼容性问题
Chaos 0.4.25-beta 2012.8.16
*) 增加pipe,socketpair,eventfd三种线程通信
方式(编译期使用宏指定),默认使用pipe
*) 完善chaos::task_service_t与boost::io_service
测试用例
Chaos 0.4.26-beta 2012.8.22
*) 修复post时日志造成递归溢出的错误,并加上提示注释
*) 增加op_lvl脚本批量更改g++编译优化选项
Chaos 0.5.26-beta 2012.8.26
*) 预编译时加入内核版本信息,可自动根据内核版本选择
最优IPC方式
*) 修改include文件方式,从附加目录中或系统目录中按层
次include头文件,而不是当前相对路径
*) 重构automake目录结构,支持make install
Chaos 0.5.30-beta 2012.9.10
*) aysnc_method实现宏模板化
*) 将bind_func, bind_memfunc改为全局模板函数
*) 优化bind_func, bind_memfunc函数的参数传递
从两次拷贝减少为一次, 代价是如果参数是functor
则必须显示加上&符号
*) connection增加userdata
*) connection成员私有化, 部分成员函数也私有化
*) 增加default_conn_strategy.cpp文件
*) tcp_service, connector_service支持broadcast功能
*) 提高connection_t数据的安全性
*) 增加misc_impl.cpp
*) press_client多线程处理
*) 解决关闭时work_service提前delete造成的崩溃现象
*) 修复test_pressclient checksum的bug
Chaos 0.6.30-beta 2012.11.4
*) 增加序列化类
*) 修复发送缓冲崩溃的BUG
*) 修复在一个io_callback中无法再次正确注册io event的bug
*) 修复某些边界下on_write_complete没有被正确调用的BUG
*) 解决pressclient发送的消息包过大导致栈溢出
*) 统一bind_func和bind_memfunc为bindfunc
*) bindfunc支持不同参数个数的函数重载
*) 引入jemalloc
*) 优化msg_buffer
*) test目录增加Makefile层级
*) build.sh模块编译
*) 优化对send时EINTR情况的处理
*) 增加基于jemalloc的chaos_new/chaos_delete
*) test_pressclient增加对不同函数重载的测试
*) 生成的静态库区分为包含jemalloc二进制与不包含的
*) 增加基于jemalloc的construct/destroy
*) 增加用于生成construct.h的construct.gen.cpp文件
*) async_method内存分配使用construct/destroy
*) connection的分配使用construct/destroy
*) 加入共享指针类
*) 使用非原子引用技术的shared ptr来包装connection,timer event保证数据安全性
*) msg_buffer的拷贝策略进行修改, 255以下使用数据拷贝的方式, 255及255以上使用引用计数防止拷贝
*) async_method使用值拷贝
*) 修复connector_service在多线程并发下,m_service_index会被连续++导致溢出崩溃的问题