fix: 修复 errorCaught 导致的频繁重连问题

- 移除 errorCaught 中重复的 handleDisconnect 调用
- 将 uncleanShutdown 日志降级为 debug 级别
- 避免双重触发导致的断开重连循环
This commit is contained in:
wenzuhuai
2026-01-23 09:06:50 +08:00
parent b014494819
commit cd680abe55

View File

@@ -921,14 +921,14 @@ class ConnectionHandler: ChannelInboundHandler {
if let natsErr = error as? NatsErrorProtocol {
self.fire(.error(natsErr))
} else {
logger.error("unexpected error: \(error)")
// debug
// uncleanShutdown TLS
logger.debug("Channel error (will reconnect if needed): \(error)")
}
// Unified handling: use handleDisconnect for all non-closed/non-disconnected states
let currentState = state.withLockedValue { $0 }
if currentState != .closed && currentState != .disconnected {
handleDisconnect()
}
// handleDisconnect
// context.close() channelInactive
//
}
func handleDisconnect() {