Splithttp: Chore & refine

This commit is contained in:
风扇滑翔翼 2024-09-19 09:57:50 +08:00 committed by GitHub
parent 81733cec22
commit ef82533809
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -91,18 +91,18 @@ SplitHTTP 的HTTP请求中所发送的host默认值为空。若服务端值
> `xmux`
允许用户对 SplitHTTP 在 h2 与 h3 中的多路复用行为进行控制,如不设置,默认行为为将所有请求复用至一条 h2/QUIC 连接。
允许用户对 SplitHTTP 在 h2 与 h3 中的多路复用行为进行控制,如不设置,默认行为为将所有请求复用至一条 TCP/QUIC 连接。
与 mux.cool 不同,该复用工作于更低的等级,效率可能更好,如果有复用需求建议在此设置,不要启用 mux.cool.
由于默认是无限复用xmux 实际上是对此进行限制。此外不要启用 mux.cool.
术语解释:
- 流会复用物理连接,像这样 连接1(流1,流2,流3) 连接2(流4,流5,流6) .. 以此类推 在其他地方你可能看到 连接-子连接 这样的描述,都是一样的东西。
- 下述所有字段类型均为 int/string 均支持固定值 `16` 或浮动值 `"8-32"` 的写法
* `maxConnections`: 默认值为 0(即无限) 要打开的最大连接数,连接达到此值前核心会积极打开连接,对每一条流都新建一个连接,直到达到该值。然后核心会开始复用已经建立的连接。 与 `maxConcurrency` 冲突。
* `maxConcurrency`: 默认值为 0(即无限) 每个连接中复用的流的最大数量,连接中流的数量达到该值后核心会新建更多连接以容纳更多的流,类似于 mux.cool 的 concurrency.
* `maxConnections`: 默认值为 0(即无限) 要打开的最大连接数,连接达到此值前核心会积极打开连接,对每一条流都新建一个连接,直到达到该值。然后核心会开始复用已经建立的连接。 与 `maxConcurrency` 冲突。
* `cMaxReuseTimes`: 默认值为 0(即无限) 一个连接最多被复用几次,当达到该值后核心不会向该连接再分配流,其将在内部最后一条流关闭后断开。
* `cMaxLifetimeMs`: 默认值为 0(即无限) 一个连接最多可以“存活”多久,当连接打开的时间超过该值后核心不会向该连接再分配流,其将在内部最后一条流关闭后断开。