Commit Graph

16 Commits

Author SHA1 Message Date
hahahrfool
d3ec3fddcd 修订示例、代码;为添加trojan 作准备 2022-04-08 10:42:01 +08:00
hahahrfool
8606e6e573 添加-mp参数进行memory pprof. 修订代码 2022-03-31 08:36:59 +08:00
hahahrfool
d696d96b29 恢复readv相关代码;
之前认为readv内存泄漏所以做了特殊处理;现在发现没必要,在没有悬垂链接时,并没有泄漏. 于是改回.
2022-03-31 02:01:46 +08:00
hahahrfool
f8ef685bdd 解决readv内存泄漏问题;解决转发时断连后的悬垂链接问题
在四点链接的情况下,我们只终端中间两点是不够的,要切三刀;
总之实践很简单,就是copy完成之后,要Close所有的链接

readv的话,系统readv数组和buffer不要在put进pool后相互引用

添加-bl 选项,可以自定义buf大小;注意越小可能越慢,建议buf大小保持在4k以上

添加-pp选项,可以生成cpu.pprof文件

修复其它小问题.
2022-03-31 01:32:58 +08:00
hahahrfool
4ece4b84dd 修订代码 2022-03-30 21:32:35 +08:00
hahahrfool
81160e8db2 广泛修订代码, 注释 2022-03-28 22:07:18 +08:00
hahahrfool
aace001585 全面修订splice和readv的代码,极大提升性能; 添加生成uuid命令 2022-03-27 12:04:12 +08:00
hahahrfool
b46ee2a7ee 改进readv代码, 将readv的buf长度与MTU脱钩.
netLayer/readv.go中 目前有两个可变的变量,目前暂时调为下面的值:
const readv_buffer_allocLen = 8
const ReadvSingleBufLen = 4096

实际上这个不方便大家手动调节的,因为如果大家遇到readv减速了的情况的话,直接关闭readv即可.
2022-03-26 19:39:36 +08:00
hahahrfool
4e9f865a62 修订代码 2022-03-24 23:10:37 +08:00
hahahrfool
65cc8e9cfa 进一步减轻readv的内存分配负担. 2022-03-24 22:51:28 +08:00
hahahrfool
146f7cf926 修复大量与websocket和回落相关的bug;
修复 websocket时无回落的问题
修复 websocket不匹配时直接返回内部错误字符串导致 可探测 的超级bug
修复回落不匹配问题
修复websocket时readv闪退问题

修复 命令行 loglevel参数被配置文件覆盖问题
修复获取tls 的 alpn和 sni时遇到空指针闪退问题

将默认fallback地址的赋值放到通用代码中;
移除 ErrSingleFallback, 改用utils.ErrFirstBuffer
使ws的server可以返回 预设的path
2022-03-24 13:42:34 +08:00
hahahrfool
a540cdd183 修订代码,注释 2022-03-23 10:41:42 +08:00
hahahrfool
f3279c27af minor improvement. 2022-03-23 09:34:49 +08:00
hahahrfool
c8f639a81d 修订代码,增强readv性能,减少内存分配 2022-03-23 08:05:22 +08:00
hahahrfool
536a84def6 修订代码,注释,文档 2022-03-22 16:46:05 +08:00
hahahrfool
5661c8737f 添加readv功能;给出测试数据;修订代码,注释;
toml 新增 app.noreadv项,命令行参数新增 -readv

默认readv是打开状态,可以选择性关闭。
2022-03-22 14:12:32 +08:00