From f695c9f7925af2e118631e00474b15999131ed9c Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 28 Oct 2019 21:32:33 +0800 Subject: [PATCH] Fix a logical mistake --- .../network/protocol/tim/TIMBotNetworkHandler.kt | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/TIMBotNetworkHandler.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/TIMBotNetworkHandler.kt index 8245f5f04..99804104f 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/TIMBotNetworkHandler.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/protocol/tim/TIMBotNetworkHandler.kt @@ -56,17 +56,14 @@ internal class TIMBotNetworkHandler internal constructor(private val bot: Bot) : } override suspend fun login(configuration: BotNetworkConfiguration): LoginResult = withContext(this.coroutineContext) { - TIMProtocol.SERVER_IP.forEach { - bot.logger.logInfo("Connecting server $it") - socket = BotSocketAdapter(it, configuration) + TIMProtocol.SERVER_IP.forEach { ip -> + bot.logger.logInfo("Connecting server $ip") + socket = BotSocketAdapter(ip, configuration) loginResult = CompletableDeferred() - val state = socket.resendTouch() + socket.resendTouch().takeIf { it != LoginResult.TIMEOUT }?.let { return@withContext it } - if (state != LoginResult.TIMEOUT) { - return@withContext state - } bot.logger.logPurple("Timeout. Retrying next server") socket.close() @@ -206,7 +203,7 @@ internal class TIMBotNetworkHandler internal constructor(private val bot: Bot) : // Remove first to release the lock handlersLock.withLock { - temporaryPacketHandlers.filter { it.filter(session, packet) } + temporaryPacketHandlers.filter { it.filter(session, packet) }.also { temporaryPacketHandlers.removeAll(it) } }.forEach { it.doReceiveWithoutExceptions(packet) }