mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-23 14:20:24 +08:00
Simplify log
This commit is contained in:
parent
392c2fd730
commit
b3e9d553aa
@ -158,18 +158,13 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
||||
}
|
||||
|
||||
private suspend inline fun <P : Packet> generifiedParsePacket(input: Input) {
|
||||
try {
|
||||
KnownPacketFactories.parseIncomingPacket(bot, input) { packetFactory: PacketFactory<P>, packet: P, commandName: String, sequenceId: Int ->
|
||||
handlePacket(packetFactory, packet, commandName, sequenceId)
|
||||
if (packet is MultiPacket<*>) {
|
||||
packet.forEach {
|
||||
handlePacket(null, it, commandName, sequenceId)
|
||||
}
|
||||
KnownPacketFactories.parseIncomingPacket(bot, input) { packetFactory: PacketFactory<P>, packet: P, commandName: String, sequenceId: Int ->
|
||||
handlePacket(packetFactory, packet, commandName, sequenceId)
|
||||
if (packet is MultiPacket<*>) {
|
||||
packet.forEach {
|
||||
handlePacket(null, it, commandName, sequenceId)
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
println()
|
||||
println() // separate for debugging
|
||||
}
|
||||
}
|
||||
|
||||
@ -201,7 +196,7 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
||||
if (packet is Cancellable && packet.cancelled) return
|
||||
}
|
||||
|
||||
bot.logger.info(packet)
|
||||
bot.logger.info("Received packet: $packet")
|
||||
|
||||
packetFactory?.run {
|
||||
bot.handle(packet)
|
||||
@ -315,17 +310,19 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
|
||||
/**
|
||||
* 发送一个包, 并挂起直到接收到指定的返回包或超时(3000ms)
|
||||
*/
|
||||
suspend fun <E : Packet> OutgoingPacket.sendAndExpect(): E {
|
||||
suspend fun <E : Packet> OutgoingPacket.sendAndExpect(timoutMillis: Long = 3000): E {
|
||||
val handler = PacketListener(commandName = commandName, sequenceId = sequenceId)
|
||||
packetListeners.addLast(handler)
|
||||
bot.logger.info("Send: ${this.commandName}")
|
||||
channel.send(delegate)
|
||||
return withTimeout(3000) {
|
||||
return withTimeoutOrNull(timoutMillis) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
handler.await() as E
|
||||
|
||||
// 不要 `withTimeout`. timeout 的异常会不知道去哪了.
|
||||
} ?: net.mamoe.mirai.qqandroid.utils.inline {
|
||||
packetListeners.remove(handler)
|
||||
error("timeout when sending ${this.commandName}")
|
||||
error("timeout when sending ${commandName}")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -124,6 +124,7 @@ internal open class QQAndroidClient(
|
||||
@PublishedApi
|
||||
internal val apkId: ByteArray = "com.tencent.mobileqq".toByteArray()
|
||||
|
||||
var outgoingPacketUnknownValue: ByteArray = 0x02B05B8B.toByteArray()
|
||||
var loginState = 0
|
||||
|
||||
var t150: Tlv? = null
|
||||
|
@ -18,6 +18,7 @@ import net.mamoe.mirai.utils.cryptor.adjustToPublicKey
|
||||
import net.mamoe.mirai.utils.cryptor.decryptBy
|
||||
import net.mamoe.mirai.utils.io.*
|
||||
import net.mamoe.mirai.utils.unzip
|
||||
import net.mamoe.mirai.utils.withSwitch
|
||||
import kotlin.contracts.ExperimentalContracts
|
||||
import kotlin.contracts.contract
|
||||
import kotlin.jvm.JvmName
|
||||
@ -54,7 +55,7 @@ internal val DECRYPTER_16_ZERO = ByteArray(16)
|
||||
internal typealias PacketConsumer<T> = suspend (packetFactory: PacketFactory<T>, packet: T, commandName: String, ssoSequenceId: Int) -> Unit
|
||||
|
||||
@PublishedApi
|
||||
internal val PacketLogger: MiraiLogger = DefaultLogger("Packet")
|
||||
internal val PacketLogger: MiraiLogger = DefaultLogger("Packet").withSwitch(false)
|
||||
|
||||
@UseExperimental(ExperimentalUnsignedTypes::class)
|
||||
internal object KnownPacketFactories : List<PacketFactory<*>> by mutableListOf(
|
||||
@ -195,8 +196,7 @@ internal object KnownPacketFactories : List<PacketFactory<*>> by mutableListOf(
|
||||
PacketLogger.verbose("sso(inner)extraData = ${extraData.toUHexString()}")
|
||||
|
||||
commandName = readString(readInt() - 4)
|
||||
val unknown = readBytes(readInt() - 4)
|
||||
if (unknown.toInt() != 0x02B05B8B) DebugLogger.debug("got new unknown: ${unknown.toUHexString()}")
|
||||
bot.client.outgoingPacketUnknownValue = readBytes(readInt() - 4)
|
||||
|
||||
dataCompressed = readInt()
|
||||
}
|
||||
@ -215,7 +215,7 @@ internal object KnownPacketFactories : List<PacketFactory<*>> by mutableListOf(
|
||||
// body
|
||||
val packetFactory = findPacketFactory(commandName)
|
||||
|
||||
bot.logger.info("Received: $commandName")
|
||||
bot.logger.debug("Received commandName: $commandName")
|
||||
return IncomingPacket(packetFactory, ssoSequenceId, packet)
|
||||
}
|
||||
|
||||
|
@ -219,7 +219,7 @@ private fun parseSsoFrame(input: ByteReadPacket): KnownPacketFactories.IncomingP
|
||||
commandName = readString(readInt() - 4)
|
||||
DebugLogger.warning("commandName=$commandName")
|
||||
val unknown = readBytes(readInt() - 4)
|
||||
if (unknown.toInt() != 0x02B05B8B) DebugLogger.debug("got new unknown: ${unknown.toUHexString()}")
|
||||
//if (unknown.toInt() != 0x02B05B8B) DebugLogger.debug("got new unknown: ${unknown.toUHexString()}")
|
||||
|
||||
check(readInt() == 0)
|
||||
}
|
||||
@ -261,7 +261,7 @@ private fun parseUniFrame(input: ByteReadPacket): KnownPacketFactories.IncomingP
|
||||
commandName = readString(readInt() - 4)
|
||||
DebugLogger.warning("commandName=$commandName")
|
||||
val unknown = readBytes(readInt() - 4)
|
||||
if (unknown.toInt() != 0x02B05B8B) DebugLogger.debug("got new unknown: ${unknown.toUHexString()}")
|
||||
//if (unknown.toInt() != 0x02B05B8B) DebugLogger.debug("got new unknown: ${unknown.toUHexString()}")
|
||||
|
||||
check(readInt() == 0)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user