fix(notify): 根治低带宽控制面阻塞与传输写入卡死

- 为控制消息增加优先级、公平调度、队列字节预算和自适应批处理
- 支持可取消的写门等待,收紧 shared/dedicated bulk、stream 和 Reply 写入边界
- 修复 bulk reset/close、连接 handoff 和安全 profile 切换时序
- 保留旧取消与超时错误契约,新增阶段化 TransportSendError
- 增加 ReplyCtx、ReplyObjCtx、写超时配置及黑洞连接和竞态回归测试
This commit is contained in:
2026-08-14 10:16:37 +08:00
parent 98ef9e7fcc
commit 0826e17063
45 changed files with 4231 additions and 293 deletions
+33
View File
@@ -211,6 +211,22 @@ func (c *ClientCommon) setClientTransportProtectionProfile(profile transportProt
c.transportProtection.Store(&profile)
}
func (c *ClientCommon) installInboundTransitionProfile(profile transportProtectionProfile) *transportProtectionProfile {
if c == nil {
return nil
}
next := profile.clone()
c.inboundTransitionProfile.Store(&next)
return &next
}
func (c *ClientCommon) clearInboundTransitionProfile(expected *transportProtectionProfile) {
if c == nil || expected == nil {
return
}
c.inboundTransitionProfile.CompareAndSwap(expected, nil)
}
func (c *ClientCommon) clearClientSecurityProfiles() {
if c == nil {
return
@@ -247,6 +263,7 @@ func (c *ClientCommon) activateClientBootstrapTransportProtection() {
if c == nil || !c.securityConfigured {
return
}
c.inboundTransitionProfile.Store(nil)
c.resetClientNegotiatedSteadyTransportProtection()
c.setClientTransportProtectionProfile(c.securityBootstrap)
}
@@ -406,3 +423,19 @@ func (c *LogicalConn) applyTransportProtectionProfile(profile transportProtectio
state.forwardSecrecyFallback = profile.forwardSecrecyFallback
})
}
func (c *LogicalConn) installInboundTransitionProfile(profile transportProtectionProfile) *transportProtectionProfile {
if c == nil {
return nil
}
next := profile.clone()
c.inboundTransitionProfile.Store(&next)
return &next
}
func (c *LogicalConn) clearInboundTransitionProfile(expected *transportProtectionProfile) {
if c == nil || expected == nil {
return
}
c.inboundTransitionProfile.CompareAndSwap(expected, nil)
}