fix: 修复 handleDisconnect 在 disconnect 失败时不触发 .disconnected 事件的问题
This commit is contained in:
@@ -989,11 +989,13 @@ class ConnectionHandler: ChannelInboundHandler {
|
|||||||
promise.futureResult.whenComplete { result in
|
promise.futureResult.whenComplete { result in
|
||||||
do {
|
do {
|
||||||
try result.get()
|
try result.get()
|
||||||
self.fire(.disconnected)
|
|
||||||
} catch {
|
} catch {
|
||||||
// 降级为 debug:网络断开时 TLS 无法完成正常关闭握手是预期行为
|
// 降级为 debug:网络断开时 TLS 无法完成正常关闭握手是预期行为
|
||||||
logger.debug("Connection closed with error (will reconnect): \(error)")
|
logger.debug("Connection closed with error (will reconnect): \(error)")
|
||||||
}
|
}
|
||||||
|
// 无论成功还是失败,都要触发 .disconnected 事件
|
||||||
|
// 这样上层才能感知到连接已断开
|
||||||
|
self.fire(.disconnected)
|
||||||
// Only start reconnect after disconnect is complete
|
// Only start reconnect after disconnect is complete
|
||||||
self.handleReconnect()
|
self.handleReconnect()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user