From a7755cd736d3ba29ed1821033a54ae9cdadca2c9 Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Fri, 28 Feb 2020 13:27:46 +0800 Subject: [PATCH] Rename `readPacket` to `readPacketExact` --- .../mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt | 4 ++-- .../mirai/qqandroid/network/protocol/packet/PacketFactory.kt | 2 +- .../src/commonMain/kotlin/net.mamoe.mirai/utils/io/input.kt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt index 57782c6f5..64924f286 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt @@ -41,7 +41,7 @@ import net.mamoe.mirai.qqandroid.network.protocol.packet.login.WtLogin import net.mamoe.mirai.utils.* import net.mamoe.mirai.utils.io.ByteArrayPool import net.mamoe.mirai.utils.io.PlatformSocket -import net.mamoe.mirai.utils.io.readPacket +import net.mamoe.mirai.utils.io.readPacketExact import net.mamoe.mirai.utils.io.useBytes import kotlin.coroutines.CoroutineContext import kotlin.jvm.Volatile @@ -445,7 +445,7 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler } // 循环所有完整的包 while (rawInput.remaining >= length) { - parsePacketAsync(rawInput.readPacket(length)) + parsePacketAsync(rawInput.readPacketExact(length)) if (rawInput.remaining == 0L) { cachedPacket.value = null // 表示包长度正好 diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt index c2cd1a323..2c62b1477 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt @@ -279,7 +279,7 @@ internal object KnownPacketFactories { val commandName: String val ssoSequenceId: Int val dataCompressed: Int - input.readPacket(input.readInt() - 4).withUse { + input.readPacketExact(input.readInt() - 4).withUse { ssoSequenceId = readInt() PacketLogger.verbose { "sequenceId = $ssoSequenceId" } val returnCode = readInt() diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/input.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/input.kt index ea9f51f73..9ba1d6e27 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/input.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/input.kt @@ -56,7 +56,7 @@ inline fun <R> ByteReadPacket.useBytes( block(it, n) } -inline fun ByteReadPacket.readPacket( +inline fun ByteReadPacket.readPacketExact( n: Int = remaining.toInt()//not that safe but adequate ): ByteReadPacket = this.readBytes(n).toReadPacket()