Conversation
之前我也发现了这个,我觉得现在要加参数的话不如加上与 XMUX 等价的所有参数, |
这个我支持R佬 |
|
我也不反对 不过这都是后话了 其他部分还有包括让它支持range什么的都需要一定的修改 而且就连xmux自己刚刚都还有一些参数修改 这里只是把这个已经有的逻辑暴露出来 |
|
|
I think you should try to integrate this pr and then it will be completed in the rest of the version, But still, your opinion is preferable |
|
@alphax-hue3682 I'm not intend to introduce unstable changes between v24.12.31 and v25.1.1. The diffs should be tiny. |
f60c5ee to
7073450
Compare
|
这个可以考虑了吧 不过我在想不要把限制 65535 顶满了 改成硬限制 65000 或者 60000 剩下一点点作为保留 类似xudp使用的子连接 ID 0 作为特殊用途 |
|
比如一些连接控制信息 用65001发送 六万多个子连接ID不够用 用65002发送后面再加一个可边长子连接ID再接真正的请求 |
|
想发个新版,关于这个 PR 我本来想的是要不先把 128 这个数值改大点,然后想到现在 XMUX 也是限制复用几百次,先不改吧 |
|
嗯 主要是这样可以一条连接赖着不死开几个小时(我专门加了一个日志记录) 使用体验区别不会很大 |
|
大多数运营商应该会倾向于 Q 掉时间过长的 TCP 连接,对 QUIC 则更加严苛 |
我想了一下 可以这么扩展mux cool的策略 不过和xmux的想法不太兼容 concurrency 如果一个mux的活跃连接达到concurrency 标记为已满 达到maxReuseTimes标记为已关闭/等待关闭 把mux worker放在一个数组里 先从后往前遍历所有worker 忽略已满和已关闭 如果发现这个连接的活跃连接小于expectedConcurrency 直接将即将发送的请求分配给它 如果没有 在没被忽略的连接里选择活跃子连接数最少的 |
8e4f881 to
cbade89
Compare
9ebd6ad to
d418401
Compare
|
|
7a371c6 to
10e280d
Compare
10e280d to
e2701be
Compare
e2701be to
a904850
Compare

字面意思
现 mux cool 逻辑:
MaxConcurrency 为一个连接里的最大活动子连接数
还有一个神秘的 MaxConnections 参数 硬编码为128 实际上就是最大复用次数 我不知道为什么叫这个 这个PR将其重命名了
我修改了一下 允许手动指定 maxReuseTimes 并把默认值变成了65535(mux.cool两位流ID允许的最大上限)
这些限制仅存在于客户端 服务端没有限制 旧的可以正常工作