minor improvement.

This commit is contained in:
hahahrfool
2022-03-23 09:34:49 +08:00
parent 0a69fbacbf
commit f3279c27af
4 changed files with 5 additions and 82 deletions

View File

@@ -31,12 +31,14 @@ func GetRawConn(reader io.Reader) syscall.RawConn {
}
/* ReadFromMultiReader 用于读端实现了 readv但是写端的情况比如 从socks5读取 数据, 等裸协议的情况。
返回错误时,依然返回原 buffer或者新分配的buffer. 本函数不负责 释放分配的内存. 这样有时可以重复利用缓存。
若allocedBuffers未给出会使用 utils.AllocMTUBuffers 来初始化 缓存。
返回错误时,依然会返回 原buffer 或者 在函数内部新分配的buffer. 本函数不负责 释放分配的内存. 这样有时可以重复利用缓存。
小贴士:将该 net.Buffers 写入io.Writer的话只需使用 其WriteTo方法, 即可自动适配writev。
TryCopy函数使用到了本函数。
TryCopy函数使用到了本函数 来进行readv相关操作
*/
func ReadFromMultiReader(rawReadConn syscall.RawConn, mr utils.MultiReader, allocedBuffers net.Buffers) (net.Buffers, error) {