fix(notify): 根治低带宽控制面阻塞与传输写入卡死
- 为控制消息增加优先级、公平调度、队列字节预算和自适应批处理 - 支持可取消的写门等待,收紧 shared/dedicated bulk、stream 和 Reply 写入边界 - 修复 bulk reset/close、连接 handoff 和安全 profile 切换时序 - 保留旧取消与超时错误契约,新增阶段化 TransportSendError - 增加 ReplyCtx、ReplyObjCtx、写超时配置及黑洞连接和竞态回归测试
This commit is contained in:
+10
-1
@@ -289,7 +289,7 @@ func (c *ClientCommon) startClientWithConnSource(conn net.Conn, source *clientCo
|
||||
queue := stario.NewQueueCtx(stopCtx, 4, math.MaxUint32)
|
||||
c.setClientConnectSource(source)
|
||||
rt := newClientSessionRuntime(conn, stopCtx, stopFn, queue, epoch)
|
||||
c.setClientSessionRuntime(rt)
|
||||
c.setClientSessionRuntimeWithCloseOld(rt, true)
|
||||
c.resetClientStopState()
|
||||
c.markSessionStarted()
|
||||
return c.clientPostInit(rt)
|
||||
@@ -360,7 +360,16 @@ func (c *ClientCommon) bootstrapClientTransportRuntime(rt *clientSessionRuntime,
|
||||
if err := c.announceClientPeerIdentity(); err != nil {
|
||||
return c.failClientTransportBootstrap(rt, stopSessionOnFailure, "peer attach failed", err)
|
||||
}
|
||||
var transitionProfile *transportProtectionProfile
|
||||
if c.securityConfigured {
|
||||
transitionProfile = c.installInboundTransitionProfile(c.clientTransportProtectionSnapshot())
|
||||
}
|
||||
c.activateClientSteadyTransportProtection()
|
||||
if transitionProfile != nil {
|
||||
time.AfterFunc(peerAttachTransitionFallbackTTL, func() {
|
||||
c.clearInboundTransitionProfile(transitionProfile)
|
||||
})
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user