mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-31 20:02:27 +08:00
Add debug functions
This commit is contained in:
parent
9145eeb4b3
commit
ef7dd73dc0
@ -6,10 +6,7 @@ import kotlinx.io.core.ByteReadPacket
|
||||
import kotlinx.io.core.readBytes
|
||||
import kotlinx.io.core.readUInt
|
||||
import kotlinx.io.core.readULong
|
||||
import net.mamoe.mirai.utils.io.UVarInt
|
||||
import net.mamoe.mirai.utils.io.readUVarInt
|
||||
import net.mamoe.mirai.utils.io.toReadPacket
|
||||
import net.mamoe.mirai.utils.io.toUHexString
|
||||
import net.mamoe.mirai.utils.io.*
|
||||
import kotlin.jvm.JvmStatic
|
||||
|
||||
// ProtoBuf utilities
|
||||
@ -143,6 +140,7 @@ fun ByteReadPacket.readProtoMap(length: Long = this.remaining): ProtoMap {
|
||||
while (this.remaining != expectingRemaining) {
|
||||
require(this.remaining > expectingRemaining) { "Expecting to read $length bytes, but read ${expectingRemaining + length - this.remaining}" }
|
||||
|
||||
try {
|
||||
val id = ProtoFieldId(readUVarInt())
|
||||
|
||||
fun readValue(): Any = when (id.type) {
|
||||
@ -167,6 +165,10 @@ fun ByteReadPacket.readProtoMap(length: Long = this.remaining): ProtoMap {
|
||||
} else {
|
||||
map[id] = readValue()
|
||||
}
|
||||
} catch (e: IllegalStateException) {
|
||||
e.logStacktrace()
|
||||
return map
|
||||
}
|
||||
}
|
||||
return map
|
||||
}
|
||||
|
@ -10,6 +10,8 @@ import net.mamoe.mirai.utils.internal.printCompareHex
|
||||
|
||||
internal object DebugLogger : MiraiLogger by DefaultLogger("Packet Debug")
|
||||
|
||||
internal fun Throwable.logStacktrace(message: String? = null) = DebugLogger.error(message, this)
|
||||
|
||||
internal fun debugPrintln(any: Any?) = DebugLogger.debug(any)
|
||||
|
||||
@Deprecated("Low efficiency, only for debug purpose", ReplaceWith("this"))
|
||||
|
Loading…
Reference in New Issue
Block a user