diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6499a04cc..359e51347 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,7 @@ mirai 欢迎一切形式的代码贡献。你可以通过以下几种途径向 m ### 注意事项 - 尽量不要引用新的库 - 遵守 Kotlin 官方代码规范(提交前使用 IDE 格式化代码 (commit 时勾选 'Reformat code')) -- 不要手动拆解数据包. 请一定使用 `kotlinx.serialization` 拆解 ProtoBuf, 使用 `net.mamoe.mirai.internal.utils.io.serialization.Tars` 拆解 Tars 数据包, 使用 `kotlinx.serialization` 拆解 Json 数据. +- 不要手动拆解数据包. 请一定使用 `kotlinx.serialization` 拆解 ProtoBuf, 使用 `net.mamoe.mirai.utils.serialization.Tars` 拆解 Tars 数据包, 使用 `kotlinx.serialization` 拆解 Json 数据. ## 社区 diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index a50160235..2051f58d2 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -21,7 +21,7 @@ import org.gradle.api.attributes.Attribute */ object Versions { - const val project = "2.0-M2-dev-5" + const val project = "2.0-M2-dev-7" const val kotlinCompiler = "1.4.21" const val kotlinStdlib = "1.4.21" diff --git a/mirai-core-utils/build.gradle.kts b/mirai-core-utils/build.gradle.kts index 30ac9e01f..90bbc5af2 100644 --- a/mirai-core-utils/build.gradle.kts +++ b/mirai-core-utils/build.gradle.kts @@ -80,12 +80,8 @@ kotlin { implementation1(`kotlinx-atomicfu`) - api1(`ktor-client-cio`) api1(`ktor-client-core`) api1(`ktor-network`) - - compileOnly(`log4j-api`) - compileOnly(slf4j) } } @@ -101,8 +97,6 @@ kotlin { val jvmTest by getting { dependencies { - api("org.pcap4j:pcap4j-distribution:1.8.2") - runtimeOnly(files("build/classes/kotlin/jvm/test")) // classpath is not properly set by IDE } } diff --git a/mirai-core-utils/src/commonMain/kotlin/Bytes.kt b/mirai-core-utils/src/commonMain/kotlin/Bytes.kt index 190750f01..daa33ce73 100644 --- a/mirai-core-utils/src/commonMain/kotlin/Bytes.kt +++ b/mirai-core-utils/src/commonMain/kotlin/Bytes.kt @@ -9,9 +9,16 @@ @file:JvmMultifileClass @file:JvmName("MiraiUtils") +@file:Suppress("NOTHING_TO_INLINE") package net.mamoe.mirai.utils +import kotlinx.io.charsets.Charset +import kotlinx.io.core.ByteReadPacket +import java.util.* +import kotlin.contracts.InvocationKind +import kotlin.contracts.contract + @JvmOverloads public fun generateImageId(md5: ByteArray, format: String = "mirai"): String { @@ -23,7 +30,7 @@ public fun generateUUID(md5: ByteArray): String { } @JvmSynthetic -internal operator fun ByteArray.get(rangeStart: Int, rangeEnd: Int): String = buildString { +public operator fun ByteArray.get(rangeStart: Int, rangeEnd: Int): String = buildString { for (it in rangeStart..rangeEnd) { append(this@get[it].fixToString()) } @@ -65,4 +72,64 @@ public fun ByteArray.checkOffsetAndLength(offset: Int, length: Int) { require(offset >= 0) { "offset shouldn't be negative: $offset" } require(length >= 0) { "length shouldn't be negative: $length" } require(offset + length <= this.size) { "offset ($offset) + length ($length) > array.size (${this.size})" } +} + + +@JvmOverloads +@Suppress("DuplicatedCode") // false positive. foreach is not common to UByteArray and ByteArray +public fun List.toUHexString(separator: String = " ", offset: Int = 0, length: Int = this.size - offset): String { + require(offset >= 0) { "offset shouldn't be negative: $offset" } + require(length >= 0) { "length shouldn't be negative: $length" } + require(offset + length <= this.size) { "offset ($offset) + length ($length) > array.size (${this.size})" } + + if (length == 0) { + return "" + } + val lastIndex = offset + length + return buildString(length * 2) { + this@toUHexString.forEachIndexed { index, it -> + if (index in offset until lastIndex) { + var ret = it.toUByte().toString(16).toUpperCase() + if (ret.length == 1) ret = "0$ret" + append(ret) + if (index < lastIndex - 1) append(separator) + } + } + } +} + +@JvmSynthetic +@Suppress("DuplicatedCode") // false positive. foreach is not common to UByteArray and ByteArray +@ExperimentalUnsignedTypes +public fun UByteArray.toUHexString(separator: String = " ", offset: Int = 0, length: Int = this.size - offset): String { + if (length == 0) { + return "" + } + val lastIndex = offset + length + return buildString(length * 2) { + this@toUHexString.forEachIndexed { index, it -> + if (index in offset until lastIndex) { + var ret = it.toByte().toUByte().toString(16).toUpperCase() + if (ret.length == 1) ret = "0$ret" + append(ret) + if (index < lastIndex - 1) append(separator) + } + } + } +} + +public inline fun ByteArray.encodeToString(offset: Int = 0, charset: Charset = Charsets.UTF_8): String = + kotlinx.io.core.String(this, charset = charset, offset = offset, length = this.size - offset) + +public inline fun ByteArray.encodeToBase64(): String = + Base64.getEncoder().encodeToString(this) + +public inline fun ByteArray.toReadPacket(offset: Int = 0, length: Int = this.size - offset): ByteReadPacket = + ByteReadPacket(this, offset = offset, length = length) + +public inline fun ByteArray.read(t: ByteReadPacket.() -> R): R { + contract { + callsInPlace(t, InvocationKind.EXACTLY_ONCE) + } + return this.toReadPacket().withUse(t) } \ No newline at end of file diff --git a/mirai-core/src/commonMain/kotlin/utils/io/input.kt b/mirai-core-utils/src/commonMain/kotlin/IO.kt similarity index 68% rename from mirai-core/src/commonMain/kotlin/utils/io/input.kt rename to mirai-core-utils/src/commonMain/kotlin/IO.kt index 6bea85473..2969e81d0 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/input.kt +++ b/mirai-core-utils/src/commonMain/kotlin/IO.kt @@ -7,23 +7,20 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -@file:Suppress("EXPERIMENTAL_API_USAGE", "EXPERIMENTAL_UNSIGNED_LITERALS", "NOTHING_TO_INLINE") @file:JvmMultifileClass -@file:JvmName("Utils") +@file:JvmName("MiraiUtils") -package net.mamoe.mirai.internal.utils.io +@file:Suppress("NOTHING_TO_INLINE") -import kotlinx.io.charsets.Charset -import kotlinx.io.charsets.Charsets +package net.mamoe.mirai.utils + +import io.ktor.utils.io.charsets.* import kotlinx.io.core.* -import net.mamoe.mirai.internal.utils.toReadPacket -import net.mamoe.mirai.utils.ByteArrayPool -import net.mamoe.mirai.utils.toUHexString -import kotlin.contracts.InvocationKind -import kotlin.contracts.contract +import kotlin.text.Charsets + @Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") -internal inline fun ByteReadPacket.useBytes( +public inline fun ByteReadPacket.useBytes( n: Int = remaining.toInt(),//not that safe but adequate block: (data: ByteArray, length: Int) -> R ): R = ByteArrayPool.useInstance(n) { @@ -31,35 +28,27 @@ internal inline fun ByteReadPacket.useBytes( block(it, n) } -internal inline fun ByteReadPacket.readPacketExact( +public inline fun ByteReadPacket.readPacketExact( n: Int = remaining.toInt()//not that safe but adequate ): ByteReadPacket = this.readBytes(n).toReadPacket() -internal inline fun C.withUse(block: C.() -> R): R { - contract { - callsInPlace(block, InvocationKind.EXACTLY_ONCE) - } - return use(block) -} -private inline fun inline(block: () -> R): R = block() +public typealias TlvMap = MutableMap -internal typealias TlvMap = MutableMap - -internal inline fun TlvMap.getOrFail(tag: Int): ByteArray { +public inline fun TlvMap.getOrFail(tag: Int): ByteArray { return this[tag] ?: error("cannot find tlv 0x${tag.toUHexString("")}($tag)") } -internal inline fun TlvMap.getOrFail(tag: Int, lazyMessage: (tag: Int) -> String): ByteArray { +public inline fun TlvMap.getOrFail(tag: Int, lazyMessage: (tag: Int) -> String): ByteArray { return this[tag] ?: error(lazyMessage(tag)) } @Suppress("FunctionName") -internal inline fun Input._readTLVMap(tagSize: Int = 2, suppressDuplication: Boolean = true): TlvMap = +public inline fun Input._readTLVMap(tagSize: Int = 2, suppressDuplication: Boolean = true): TlvMap = _readTLVMap(true, tagSize, suppressDuplication) @Suppress("DuplicatedCode", "FunctionName") -internal fun Input._readTLVMap( +public fun Input._readTLVMap( expectingEOF: Boolean = true, tagSize: Int, suppressDuplication: Boolean = true @@ -67,7 +56,7 @@ internal fun Input._readTLVMap( val map = mutableMapOf() var key = 0 - while (inline { + while (kotlin.run { try { key = when (tagSize) { 1 -> readUByte().toInt() @@ -120,18 +109,18 @@ internal fun Input._readTLVMap( return map } -internal inline fun Input.readString(length: Int, charset: Charset = Charsets.UTF_8): String = +public inline fun Input.readString(length: Int, charset: Charset = Charsets.UTF_8): String = String(this.readBytes(length), charset = charset) -internal inline fun Input.readString(length: Long, charset: Charset = Charsets.UTF_8): String = +public inline fun Input.readString(length: Long, charset: Charset = Charsets.UTF_8): String = String(this.readBytes(length.toInt()), charset = charset) -internal inline fun Input.readString(length: Short, charset: Charset = Charsets.UTF_8): String = +public inline fun Input.readString(length: Short, charset: Charset = Charsets.UTF_8): String = String(this.readBytes(length.toInt()), charset = charset) @JvmSynthetic -internal inline fun Input.readString(length: UShort, charset: Charset = Charsets.UTF_8): String = +public inline fun Input.readString(length: UShort, charset: Charset = Charsets.UTF_8): String = String(this.readBytes(length.toInt()), charset = charset) -internal inline fun Input.readString(length: Byte, charset: Charset = Charsets.UTF_8): String = +public inline fun Input.readString(length: Byte, charset: Charset = Charsets.UTF_8): String = String(this.readBytes(length.toInt()), charset = charset) \ No newline at end of file diff --git a/mirai-core-utils/src/commonMain/kotlin/MiraiPlatformUtils.kt b/mirai-core-utils/src/commonMain/kotlin/MiraiPlatformUtils.kt index 72c04f866..a2a36b0c9 100644 --- a/mirai-core-utils/src/commonMain/kotlin/MiraiPlatformUtils.kt +++ b/mirai-core-utils/src/commonMain/kotlin/MiraiPlatformUtils.kt @@ -13,7 +13,6 @@ package net.mamoe.mirai.utils import io.ktor.client.* -import io.ktor.client.engine.cio.* import kotlinx.io.core.Input import kotlinx.io.core.readAvailable import java.io.* @@ -30,7 +29,7 @@ public object MiraiPlatformUtils { /** * Ktor HttpClient. 不同平台使用不同引擎. */ - public val Http: HttpClient = HttpClient(CIO) + public val Http: HttpClient = HttpClient() } @JvmOverloads diff --git a/mirai-core/src/commonMain/kotlin/MiraiImpl.kt b/mirai-core/src/commonMain/kotlin/MiraiImpl.kt index 1d73f5cf3..18b58ac41 100644 --- a/mirai-core/src/commonMain/kotlin/MiraiImpl.kt +++ b/mirai-core/src/commonMain/kotlin/MiraiImpl.kt @@ -9,6 +9,7 @@ package net.mamoe.mirai.internal +import io.ktor.client.engine.cio.* import io.ktor.client.request.* import io.ktor.client.request.forms.* import kotlinx.coroutines.SupervisorJob @@ -23,15 +24,12 @@ import net.mamoe.mirai.event.events.NewFriendRequestEvent import net.mamoe.mirai.internal.contact.* import net.mamoe.mirai.internal.message.* import net.mamoe.mirai.internal.network.highway.HighwayHelper -import net.mamoe.mirai.internal.network.protocol.data.jce.toOtherClientInfo import net.mamoe.mirai.internal.network.protocol.data.proto.ImMsgBody import net.mamoe.mirai.internal.network.protocol.data.proto.LongMsg import net.mamoe.mirai.internal.network.protocol.packet.chat.* import net.mamoe.mirai.internal.network.protocol.packet.chat.voice.PttStore import net.mamoe.mirai.internal.network.protocol.packet.list.FriendList import net.mamoe.mirai.internal.network.protocol.packet.login.StatSvc -import net.mamoe.mirai.internal.utils.encodeToString -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray import net.mamoe.mirai.message.MessageReceipt import net.mamoe.mirai.message.action.Nudge import net.mamoe.mirai.message.data.* @@ -40,6 +38,7 @@ import net.mamoe.mirai.message.data.Image.Key.FRIEND_IMAGE_ID_REGEX_2 import net.mamoe.mirai.message.data.Image.Key.GROUP_IMAGE_ID_REGEX import net.mamoe.mirai.utils.* import net.mamoe.mirai.utils.ExternalResource.Companion.toExternalResource +import net.mamoe.mirai.utils.serialization.toByteArray import java.util.concurrent.atomic.AtomicBoolean import kotlin.math.absoluteValue import kotlin.random.Random @@ -50,6 +49,7 @@ internal open class MiraiImpl : IMirai, LowLevelApiAccessor { companion object INSTANCE : MiraiImpl() { @Suppress("ObjectPropertyName", "unused") private val _init = Mirai.let { + CIO // init Message.Serializer.registerSerializer(OfflineGroupImage::class, OfflineGroupImage.serializer()) Message.Serializer.registerSerializer(OfflineFriendImage::class, OfflineFriendImage.serializer()) Message.Serializer.registerSerializer(MarketFaceImpl::class, MarketFaceImpl.serializer()) diff --git a/mirai-core/src/commonMain/kotlin/contact/AbstractUser.kt b/mirai-core/src/commonMain/kotlin/contact/AbstractUser.kt index 41b7bd4c3..80815ce62 100644 --- a/mirai-core/src/commonMain/kotlin/contact/AbstractUser.kt +++ b/mirai-core/src/commonMain/kotlin/contact/AbstractUser.kt @@ -20,10 +20,10 @@ import net.mamoe.mirai.internal.network.highway.postImage import net.mamoe.mirai.internal.network.highway.sizeToString import net.mamoe.mirai.internal.network.protocol.data.proto.Cmd0x352 import net.mamoe.mirai.internal.network.protocol.packet.chat.image.LongConn -import net.mamoe.mirai.internal.utils.toUHexString import net.mamoe.mirai.message.data.Image import net.mamoe.mirai.utils.ExternalResource import net.mamoe.mirai.utils.MiraiPlatformUtils +import net.mamoe.mirai.utils.toUHexString import net.mamoe.mirai.utils.verbose import kotlin.coroutines.CoroutineContext import kotlin.math.roundToInt diff --git a/mirai-core/src/commonMain/kotlin/message/FlashImageImpl.kt b/mirai-core/src/commonMain/kotlin/message/FlashImageImpl.kt index 6e0bbcbff..530d6bf8d 100644 --- a/mirai-core/src/commonMain/kotlin/message/FlashImageImpl.kt +++ b/mirai-core/src/commonMain/kotlin/message/FlashImageImpl.kt @@ -13,11 +13,11 @@ package net.mamoe.mirai.internal.message import net.mamoe.mirai.internal.network.protocol.data.proto.HummerCommelem import net.mamoe.mirai.internal.network.protocol.data.proto.ImMsgBody -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray import net.mamoe.mirai.message.data.FlashImage import net.mamoe.mirai.message.data.isFriendImage import net.mamoe.mirai.message.data.isGroupImage import net.mamoe.mirai.message.data.md5 +import net.mamoe.mirai.utils.serialization.toByteArray internal fun FlashImage.toJceData(): ImMsgBody.Elem { diff --git a/mirai-core/src/commonMain/kotlin/message/conversions.kt b/mirai-core/src/commonMain/kotlin/message/conversions.kt index 1c46f3d24..0e3ffc624 100644 --- a/mirai-core/src/commonMain/kotlin/message/conversions.kt +++ b/mirai-core/src/commonMain/kotlin/message/conversions.kt @@ -24,13 +24,10 @@ import net.mamoe.mirai.contact.Group import net.mamoe.mirai.internal.network.protocol.data.proto.* import net.mamoe.mirai.internal.network.protocol.data.proto.ImMsgBody import net.mamoe.mirai.internal.utils.* -import net.mamoe.mirai.internal.utils.io.serialization.loadAs -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray import net.mamoe.mirai.message.data.* -import net.mamoe.mirai.utils.hexToBytes -import net.mamoe.mirai.utils.safeCast -import net.mamoe.mirai.utils.unzip -import net.mamoe.mirai.utils.zip +import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.loadAs +import net.mamoe.mirai.utils.serialization.toByteArray import kotlin.contracts.ExperimentalContracts import kotlin.contracts.InvocationKind import kotlin.contracts.contract diff --git a/mirai-core/src/commonMain/kotlin/message/faceImpl.kt b/mirai-core/src/commonMain/kotlin/message/faceImpl.kt index 77e17a78c..94c9367ae 100644 --- a/mirai-core/src/commonMain/kotlin/message/faceImpl.kt +++ b/mirai-core/src/commonMain/kotlin/message/faceImpl.kt @@ -14,12 +14,12 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.Transient import net.mamoe.mirai.internal.network.protocol.data.proto.HummerCommelem import net.mamoe.mirai.internal.network.protocol.data.proto.ImMsgBody -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray import net.mamoe.mirai.message.code.internal.appendAsMiraiCode import net.mamoe.mirai.message.data.Face import net.mamoe.mirai.message.data.MarketFace import net.mamoe.mirai.utils.MiraiExperimentalApi import net.mamoe.mirai.utils.hexToBytes +import net.mamoe.mirai.utils.serialization.toByteArray import net.mamoe.mirai.utils.toByteArray internal val FACE_BUF = "00 01 00 04 52 CC F5 D0".hexToBytes() diff --git a/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt b/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt index 44dea1c5d..7cb478b5e 100644 --- a/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt +++ b/mirai-core/src/commonMain/kotlin/message/incomingSourceImpl.kt @@ -21,14 +21,14 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm import net.mamoe.mirai.internal.network.protocol.data.proto.SourceMsg import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY import net.mamoe.mirai.internal.utils._miraiContentToString -import net.mamoe.mirai.internal.utils.encodeToBase64 -import net.mamoe.mirai.internal.utils.encodeToString -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray import net.mamoe.mirai.message.data.Message import net.mamoe.mirai.message.data.MessageChain import net.mamoe.mirai.message.data.MessageSource import net.mamoe.mirai.message.data.OnlineMessageSource +import net.mamoe.mirai.utils.encodeToBase64 +import net.mamoe.mirai.utils.encodeToString import net.mamoe.mirai.utils.mapToIntArray +import net.mamoe.mirai.utils.serialization.toByteArray import java.util.concurrent.atomic.AtomicBoolean internal interface MessageSourceInternal { diff --git a/mirai-core/src/commonMain/kotlin/message/offlineSourceImpl.kt b/mirai-core/src/commonMain/kotlin/message/offlineSourceImpl.kt index 8ad6f9e18..bce577763 100644 --- a/mirai-core/src/commonMain/kotlin/message/offlineSourceImpl.kt +++ b/mirai-core/src/commonMain/kotlin/message/offlineSourceImpl.kt @@ -15,11 +15,11 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.ImMsgBody import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm import net.mamoe.mirai.internal.network.protocol.data.proto.SourceMsg import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.serialization.loadAs import net.mamoe.mirai.message.data.MessageChain import net.mamoe.mirai.message.data.MessageSourceKind import net.mamoe.mirai.message.data.OfflineMessageSource import net.mamoe.mirai.utils.mapToIntArray +import net.mamoe.mirai.utils.serialization.loadAs import java.util.concurrent.atomic.AtomicBoolean diff --git a/mirai-core/src/commonMain/kotlin/message/outgoingSourceImpl.kt b/mirai-core/src/commonMain/kotlin/message/outgoingSourceImpl.kt index cc7ed23f4..184873ab6 100644 --- a/mirai-core/src/commonMain/kotlin/message/outgoingSourceImpl.kt +++ b/mirai-core/src/commonMain/kotlin/message/outgoingSourceImpl.kt @@ -26,10 +26,10 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm import net.mamoe.mirai.internal.network.protocol.data.proto.SourceMsg import net.mamoe.mirai.internal.network.protocol.packet.chat.receive.OnlinePushPbPushGroupMsg.SendGroupMessageReceipt import net.mamoe.mirai.internal.network.protocol.packet.chat.toLongUnsigned -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray import net.mamoe.mirai.message.data.MessageChain import net.mamoe.mirai.message.data.MessageSource import net.mamoe.mirai.message.data.OnlineMessageSource +import net.mamoe.mirai.utils.serialization.toByteArray import java.util.concurrent.atomic.AtomicBoolean diff --git a/mirai-core/src/commonMain/kotlin/network/QQAndroidBotNetworkHandler.kt b/mirai-core/src/commonMain/kotlin/network/QQAndroidBotNetworkHandler.kt index f1b9239df..e043c362a 100644 --- a/mirai-core/src/commonMain/kotlin/network/QQAndroidBotNetworkHandler.kt +++ b/mirai-core/src/commonMain/kotlin/network/QQAndroidBotNetworkHandler.kt @@ -42,7 +42,6 @@ import net.mamoe.mirai.internal.network.protocol.packet.login.Heartbeat import net.mamoe.mirai.internal.network.protocol.packet.login.StatSvc import net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin import net.mamoe.mirai.internal.utils.* -import net.mamoe.mirai.internal.utils.io.readPacketExact import net.mamoe.mirai.network.* import net.mamoe.mirai.utils.* import java.util.concurrent.ConcurrentLinkedQueue diff --git a/mirai-core/src/commonMain/kotlin/network/highway/HighwayHelper.kt b/mirai-core/src/commonMain/kotlin/network/highway/HighwayHelper.kt index 2f8e7c43b..20107be80 100644 --- a/mirai-core/src/commonMain/kotlin/network/highway/HighwayHelper.kt +++ b/mirai-core/src/commonMain/kotlin/network/highway/HighwayHelper.kt @@ -27,11 +27,10 @@ import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY import net.mamoe.mirai.internal.utils.PlatformSocket import net.mamoe.mirai.internal.utils.SocketException import net.mamoe.mirai.internal.utils.addSuppressedMirai -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray -import net.mamoe.mirai.internal.utils.io.withUse import net.mamoe.mirai.internal.utils.toIpV4AddressString import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.toByteArray import java.io.InputStream import kotlin.math.roundToInt import kotlin.time.ExperimentalTime diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/ConfigPush.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/ConfigPush.kt index fbefabf5b..9740ea6ad 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/ConfigPush.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/ConfigPush.kt @@ -11,9 +11,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable import net.mamoe.mirai.internal.network.Packet -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class BigDataChannel( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/DeviceItemDes.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/DeviceItemDes.kt index 21c978075..aa98eddfc 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/DeviceItemDes.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/DeviceItemDes.kt @@ -9,8 +9,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class DeviceItemDes( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/FriendList.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/FriendList.kt index 8a7bcb168..abb2d39db 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/FriendList.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/FriendList.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class ModifyGroupCardReq( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/GroupMngReq.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/GroupMngReq.kt index dd5ed29d6..8f91ec195 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/GroupMngReq.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/GroupMngReq.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class GroupMngReqJce( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/InstanceInfo.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/InstanceInfo.kt index 191cbc10e..391c197c4 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/InstanceInfo.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/InstanceInfo.kt @@ -11,8 +11,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable import net.mamoe.mirai.contact.ClientKind -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal data class InstanceInfo( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/MsgType0x210.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/MsgType0x210.kt index 63b45e3ce..cd74af748 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/MsgType0x210.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/MsgType0x210.kt @@ -11,9 +11,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class AddGroup( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/OnlinePushPack.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/OnlinePushPack.kt index 642fa2d3e..b9f9a0491 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/OnlinePushPack.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/OnlinePushPack.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId internal class OnlinePushPack { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/PushNotifyPack.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/PushNotifyPack.kt index e77fb8c1c..89b72b3f4 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/PushNotifyPack.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/PushNotifyPack.kt @@ -12,8 +12,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable import net.mamoe.mirai.internal.network.Packet import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Suppress("ArrayInDataClass") @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestMSFForceOffline.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestMSFForceOffline.kt index d44d38817..bcbaaa5f3 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestMSFForceOffline.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestMSFForceOffline.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class RequestMSFForceOffline( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPacket.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPacket.kt index 78117e0c9..145d8a3dd 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPacket.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPacket.kt @@ -11,8 +11,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId private val EMPTY_MAP = mapOf() diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPushForceOffline.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPushForceOffline.kt index a67a072cc..407ccd293 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPushForceOffline.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/RequestPushForceOffline.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class RequestPushForceOffline( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcDevLoginInfo.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcDevLoginInfo.kt index e30bfb5ac..cd5e47e70 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcDevLoginInfo.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcDevLoginInfo.kt @@ -12,8 +12,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable import net.mamoe.mirai.contact.OtherClientInfo import net.mamoe.mirai.contact.Platform -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal data class SvcDevLoginInfo( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqMSFLoginNotifyData.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqMSFLoginNotifyData.kt index b1d8dc407..399dc4d65 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqMSFLoginNotifyData.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqMSFLoginNotifyData.kt @@ -10,8 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId // ANDROID PHONE QQ diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqRegister.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqRegister.kt index cb95ae346..0d6fb8d2f 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqRegister.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcReqRegister.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class SvcReqRegister( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRequestPushReadedNotify.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRequestPushReadedNotify.kt index cad35a1f1..4a98843b9 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRequestPushReadedNotify.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRequestPushReadedNotify.kt @@ -12,8 +12,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class SvcRequestPushReadedNotify( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRespRegister.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRespRegister.kt index 0053f81ed..f635f4d40 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRespRegister.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRespRegister.kt @@ -10,8 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRspGetDevLoginInfo.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRspGetDevLoginInfo.kt index 0f3e2112f..9d211c105 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRspGetDevLoginInfo.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/SvcRspGetDevLoginInfo.kt @@ -10,8 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class SvcRspGetDevLoginInfo( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/TroopList.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/TroopList.kt index 63cb892c9..16add0c7f 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/TroopList.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/jce/TroopList.kt @@ -10,9 +10,8 @@ package net.mamoe.mirai.internal.network.protocol.data.jce import kotlinx.serialization.Serializable -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.serialization.tars.TarsId @Serializable internal class GetTroopListReqV2Simplify( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x352.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x352.kt index 3f9beb928..29aebdd74 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x352.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x352.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class Cmd0x352 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x388.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x388.kt index 2de750d49..90567097d 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x388.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x388.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class Cmd0x388 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x857.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x857.kt index 6eb3658a3..1a02ad20d 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x857.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x857.kt @@ -16,8 +16,7 @@ import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoNumber import kotlinx.serialization.protobuf.ProtoType import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class GroupOpenSysMsg : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x858.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x858.kt index 8b758575d..f5bed7eee 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x858.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Cmd0x858.kt @@ -16,8 +16,7 @@ import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoNumber import kotlinx.serialization.protobuf.ProtoType import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class Oidb0x858 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Define.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Define.kt index 5b5c30162..779d0304a 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Define.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Define.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class Common : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/FriendListCommon.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/FriendListCommon.kt index d0f9b8f78..92cd6692a 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/FriendListCommon.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/FriendListCommon.kt @@ -14,8 +14,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class Vec0xd50 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Group.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Group.kt index 21ee938a8..0acb09735 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Group.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Group.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class GroupLabel : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Highway.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Highway.kt index ed379235e..c9546d224 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Highway.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Highway.kt @@ -14,8 +14,7 @@ import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoNumber import kotlinx.serialization.protobuf.ProtoType import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class BdhExtinfo : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerCommelem.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerCommelem.kt index 1cf5a51c9..a830352a7 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerCommelem.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerCommelem.kt @@ -12,7 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf internal class HummerCommelem : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv12.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv12.kt index 042315a4f..3e33d8353 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv12.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv12.kt @@ -13,7 +13,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class MarketFaceExtPb : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv21.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv21.kt index 9559200c4..3f0446b86 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv21.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/HummerResv21.kt @@ -14,7 +14,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class HummerResv21 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/ImageRequest.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/ImageRequest.kt index 92dd6b620..6ff521f0c 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/ImageRequest.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/ImageRequest.kt @@ -11,7 +11,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf import net.mamoe.mirai.utils.currentTimeSeconds internal interface ImgReq : ProtoBuf diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/LongMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/LongMsg.kt index dd75a9e74..35882e2c5 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/LongMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/LongMsg.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class LongMsg : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Msg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Msg.kt index 791138cac..4a7cf2b50 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Msg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Msg.kt @@ -14,8 +14,8 @@ import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoNumber import kotlinx.serialization.protobuf.ProtoType import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray +import net.mamoe.mirai.utils.ProtoBuf +import net.mamoe.mirai.utils.serialization.toByteArray @Serializable internal class ImCommon : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgCommon.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgCommon.kt index a7fe8db03..3705db1ba 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgCommon.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgCommon.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf /** * msf.msgcomm.msg_comm diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgRevokeUserDef.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgRevokeUserDef.kt index d5d0efa30..3f012bbe0 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgRevokeUserDef.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgRevokeUserDef.kt @@ -11,8 +11,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class MsgRevokeUserDef : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgSvc.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgSvc.kt index 8839aace3..67e6d0654 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgSvc.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgSvc.kt @@ -13,8 +13,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.Packet import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class MsgSvc : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgTransmit.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgTransmit.kt index 0f7023e55..6f4727795 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgTransmit.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MsgTransmit.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class MsgTransmit : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MultiMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MultiMsg.kt index 0ba832eea..aed9587a5 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MultiMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/MultiMsg.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class MultiMsg : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OIDB.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OIDB.kt index 9c4b16f8a..1ba1b21fb 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OIDB.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OIDB.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class Oidb0x8a0 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Oidb0x769.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Oidb0x769.kt index 7efcb52aa..8ea6534ba 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Oidb0x769.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/Oidb0x769.kt @@ -14,7 +14,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class Oidb0x769 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OnlinePush.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OnlinePush.kt index 0e7ec76fc..096d27fd2 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OnlinePush.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/OnlinePush.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class MsgOnlinePush { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/PbReserve.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/PbReserve.kt index bdb62d5fb..04d82a917 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/PbReserve.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/PbReserve.kt @@ -12,7 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf internal class Generalflags : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StatSvcGetOnline.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StatSvcGetOnline.kt index 309554bd7..1c2923073 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StatSvcGetOnline.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StatSvcGetOnline.kt @@ -11,8 +11,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class StatSvcGetOnline { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StructMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StructMsg.kt index 5abae2abc..1936d122a 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StructMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/StructMsg.kt @@ -12,8 +12,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf internal class QPayReminderMsg : ProtoBuf { @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/SyncCookie.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/SyncCookie.kt index cf03f5500..53e713d29 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/SyncCookie.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/SyncCookie.kt @@ -11,8 +11,7 @@ package net.mamoe.mirai.internal.network.protocol.data.proto import kotlinx.serialization.Serializable import kotlinx.serialization.protobuf.ProtoNumber -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf import kotlin.math.absoluteValue import kotlin.random.Random diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x210.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x210.kt index ebe6c04fe..8bae4117b 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x210.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x210.kt @@ -16,8 +16,7 @@ import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoNumber import kotlinx.serialization.protobuf.ProtoType import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import kotlin.jvm.JvmField +import net.mamoe.mirai.utils.ProtoBuf @Serializable internal class SubMsgType0x43 : ProtoBuf { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x211.kt b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x211.kt index 7623c0fc0..14c3a9bc7 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x211.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/data/proto/msgType0x211.kt @@ -16,7 +16,7 @@ import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoNumber import kotlinx.serialization.protobuf.ProtoType import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY -import net.mamoe.mirai.internal.utils.io.ProtoBuf +import net.mamoe.mirai.utils.ProtoBuf @Serializable diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/EncryptMethod.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/EncryptMethod.kt index 9212bf445..0831c408c 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/EncryptMethod.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/EncryptMethod.kt @@ -16,8 +16,8 @@ import kotlinx.io.core.writeFully import net.mamoe.mirai.internal.network.QQAndroidClient import net.mamoe.mirai.internal.utils.crypto.ECDH import net.mamoe.mirai.internal.utils.crypto.ECDHKeyPair -import net.mamoe.mirai.internal.utils.io.encryptAndWrite -import net.mamoe.mirai.internal.utils.io.writeShortLVByteArray +import net.mamoe.mirai.utils.encryptAndWrite +import net.mamoe.mirai.utils.writeShortLVByteArray internal interface EncryptMethod { val id: Int diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/OutgoingPacketAndroid.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/OutgoingPacketAndroid.kt index 7fe04860e..a384b5fb1 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/OutgoingPacketAndroid.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/OutgoingPacketAndroid.kt @@ -15,9 +15,9 @@ import kotlinx.io.core.ByteReadPacket import kotlinx.io.core.buildPacket import kotlinx.io.core.writeFully import net.mamoe.mirai.internal.network.QQAndroidClient -import net.mamoe.mirai.internal.utils.io.encryptAndWrite -import net.mamoe.mirai.internal.utils.io.writeHex -import net.mamoe.mirai.internal.utils.io.writeIntLVPacket +import net.mamoe.mirai.utils.encryptAndWrite +import net.mamoe.mirai.utils.writeHex +import net.mamoe.mirai.utils.writeIntLVPacket internal class OutgoingPacket constructor( name: String?, diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/PacketFactory.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/PacketFactory.kt index c97144855..78760d2b0 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/PacketFactory.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/PacketFactory.kt @@ -27,12 +27,6 @@ import net.mamoe.mirai.internal.network.protocol.packet.login.WtLogin import net.mamoe.mirai.internal.network.readUShortLVByteArray import net.mamoe.mirai.internal.utils.crypto.TEA import net.mamoe.mirai.internal.utils.crypto.adjustToPublicKey -import net.mamoe.mirai.internal.utils.io.readPacketExact -import net.mamoe.mirai.internal.utils.io.readString -import net.mamoe.mirai.internal.utils.io.useBytes -import net.mamoe.mirai.internal.utils.io.withUse -import net.mamoe.mirai.internal.utils.toReadPacket -import net.mamoe.mirai.internal.utils.toUHexString import net.mamoe.mirai.utils.* internal sealed class PacketFactory { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/Tlv.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/Tlv.kt index 780d627d8..51eb2cfed 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/Tlv.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/Tlv.kt @@ -17,10 +17,7 @@ import kotlinx.io.core.toByteArray import kotlinx.io.core.writeFully import net.mamoe.mirai.internal.network.protocol.LoginType import net.mamoe.mirai.internal.utils.NetworkType -import net.mamoe.mirai.internal.utils.io.* -import net.mamoe.mirai.utils.currentTimeMillis -import net.mamoe.mirai.utils.md5 -import net.mamoe.mirai.utils.toByteArray +import net.mamoe.mirai.utils.* import kotlin.random.Random /** diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/MultiMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/MultiMsg.kt index 78ea7247a..df2070110 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/MultiMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/MultiMsg.kt @@ -27,13 +27,13 @@ import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.PacketLogger import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket import net.mamoe.mirai.internal.utils._miraiContentToString -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf import net.mamoe.mirai.message.data.ForwardMessage import net.mamoe.mirai.message.data.asMessageChain import net.mamoe.mirai.utils.gzip import net.mamoe.mirai.utils.md5 +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.toByteArray +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal class MessageValidationData( val data: ByteArray, diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NewContact.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NewContact.kt index bb5c1fd0a..4e3cb6389 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NewContact.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NewContact.kt @@ -25,8 +25,8 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.Structmsg import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket import net.mamoe.mirai.internal.utils._miraiContentToString -import net.mamoe.mirai.internal.utils.io.serialization.loadAs -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf +import net.mamoe.mirai.utils.serialization.loadAs +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal class NewContact { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NudgePacket.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NudgePacket.kt index e56353c5e..638340f53 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NudgePacket.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/NudgePacket.kt @@ -19,9 +19,9 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.OidbSso import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.loadAs -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf +import net.mamoe.mirai.utils.serialization.loadAs +import net.mamoe.mirai.utils.serialization.toByteArray +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal object NudgePacket : OutgoingPacketFactory("OidbSvc.0xed3") { override suspend fun ByteReadPacket.decode(bot: QQAndroidBot): Response { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/PbMessageSvc.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/PbMessageSvc.kt index b63e8235f..a69fb390c 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/PbMessageSvc.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/PbMessageSvc.kt @@ -20,10 +20,10 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgSvc import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf import net.mamoe.mirai.utils.hexToBytes +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.toByteArray +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal class PbMessageSvc { object PbMsgWithDraw : OutgoingPacketFactory( diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/TroopManagement.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/TroopManagement.kt index cbd92f541..61d299ec9 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/TroopManagement.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/TroopManagement.kt @@ -26,8 +26,8 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.* import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.* import net.mamoe.mirai.utils.daysToSeconds +import net.mamoe.mirai.utils.serialization.* import net.mamoe.mirai.data.GroupInfo as MiraiGroupInfo @OptIn(LowLevelApi::class) diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/ImgStore.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/ImgStore.kt index 8e98d93f9..b98fbc26d 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/ImgStore.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/ImgStore.kt @@ -18,8 +18,8 @@ import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket import net.mamoe.mirai.internal.network.protocol.packet.chat.toLongUnsigned -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.writeProtoBuf import kotlin.random.Random import kotlin.random.nextInt diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/LongConn.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/LongConn.kt index b3d2f433f..ee46ae5ea 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/LongConn.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/image/LongConn.kt @@ -18,8 +18,8 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.GetImgUrlReq import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal class LongConn { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbDeleteMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbDeleteMsg.kt index 74393f031..b4e57db1a 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbDeleteMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbDeleteMsg.kt @@ -19,7 +19,7 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgComm import net.mamoe.mirai.internal.network.protocol.data.proto.MsgSvc import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal object MessageSvcPbDeleteMsg : OutgoingPacketFactory("MessageSvc.PbDeleteMsg") { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt index 6ea483e47..b9e912675 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbGetMsg.kt @@ -46,15 +46,12 @@ import net.mamoe.mirai.internal.network.protocol.packet.chat.NewContact import net.mamoe.mirai.internal.network.protocol.packet.chat.toLongUnsigned import net.mamoe.mirai.internal.network.protocol.packet.list.FriendList import net.mamoe.mirai.internal.utils.* -import net.mamoe.mirai.internal.utils.io.serialization.loadAs -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf import net.mamoe.mirai.message.data.PlainText import net.mamoe.mirai.message.data.buildMessageChain -import net.mamoe.mirai.utils.cast -import net.mamoe.mirai.utils.debug -import net.mamoe.mirai.utils.toInt -import net.mamoe.mirai.utils.warning +import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.loadAs +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.writeProtoBuf import kotlin.random.Random diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt index 5917f3e08..76a4ef8b3 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PbSendMsg.kt @@ -32,10 +32,10 @@ import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf import net.mamoe.mirai.message.data.* import net.mamoe.mirai.utils.currentTimeSeconds +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.writeProtoBuf import java.util.concurrent.atomic.AtomicReference import kotlin.contracts.InvocationKind import kotlin.contracts.contract diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushForceOffline.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushForceOffline.kt index 070f78c6c..a3aa406af 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushForceOffline.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushForceOffline.kt @@ -14,7 +14,7 @@ import net.mamoe.mirai.event.events.BotOfflineEvent import net.mamoe.mirai.internal.QQAndroidBot import net.mamoe.mirai.internal.network.protocol.data.jce.RequestPushForceOffline import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory -import net.mamoe.mirai.internal.utils.io.serialization.readUniPacket +import net.mamoe.mirai.utils.serialization.readUniPacket /** diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushNotify.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushNotify.kt index ee627f645..cb7bd2a35 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushNotify.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/MessageSvc.PushNotify.kt @@ -17,7 +17,7 @@ import net.mamoe.mirai.internal.network.protocol.data.jce.RequestPushNotify import net.mamoe.mirai.internal.network.protocol.data.proto.MsgSvc import net.mamoe.mirai.internal.network.protocol.packet.IncomingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket -import net.mamoe.mirai.internal.utils.io.serialization.readUniPacket +import net.mamoe.mirai.utils.serialization.readUniPacket /** diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushGroupMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushGroupMsg.kt index 2b727104f..5158b5291 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushGroupMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushGroupMsg.kt @@ -33,11 +33,9 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.MsgOnlinePush import net.mamoe.mirai.internal.network.protocol.data.proto.Oidb0x8fc import net.mamoe.mirai.internal.network.protocol.packet.IncomingPacketFactory import net.mamoe.mirai.internal.utils._miraiContentToString -import net.mamoe.mirai.internal.utils.encodeToBase64 -import net.mamoe.mirai.internal.utils.encodeToString -import net.mamoe.mirai.internal.utils.io.serialization.loadAs -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.utils.warning +import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.loadAs +import net.mamoe.mirai.utils.serialization.readProtoBuf /** * 接受群消息 diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushTransMsg.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushTransMsg.kt index 573f29fb9..8faf1f6f9 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushTransMsg.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.PbPushTransMsg.kt @@ -36,8 +36,8 @@ import net.mamoe.mirai.internal.network.protocol.packet.IncomingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.buildResponseUniPacket import net.mamoe.mirai.internal.utils._miraiContentToString -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.read +import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.readProtoBuf internal object OnlinePushPbPushTransMsg : diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.ReqPush.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.ReqPush.kt index dd31f8ae1..d6c3b2f5f 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.ReqPush.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/receive/OnlinePush.ReqPush.kt @@ -45,13 +45,8 @@ import net.mamoe.mirai.internal.network.protocol.packet.IncomingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.buildResponseUniPacket import net.mamoe.mirai.internal.utils.* -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import net.mamoe.mirai.internal.utils.io.readString -import net.mamoe.mirai.internal.utils.io.serialization.* -import net.mamoe.mirai.utils.currentTimeSeconds -import net.mamoe.mirai.utils.debug -import net.mamoe.mirai.utils.mapToIntArray -import net.mamoe.mirai.utils.toUHexString +import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.* //0C 01 B1 89 BE 09 5E 3D 72 A6 00 01 73 68 FC 06 00 00 00 3C diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/voice/PttStore.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/voice/PttStore.kt index e7273357a..e690adb63 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/voice/PttStore.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/chat/voice/PttStore.kt @@ -18,9 +18,9 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.Cmd0x388 import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.encodeToString -import net.mamoe.mirai.internal.utils.io.serialization.readProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.writeProtoBuf +import net.mamoe.mirai.utils.encodeToString +import net.mamoe.mirai.utils.serialization.readProtoBuf +import net.mamoe.mirai.utils.serialization.writeProtoBuf internal class PttStore { object GroupPttUp : OutgoingPacketFactory("PttStore.GroupPttUp") { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/FriendList.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/FriendList.kt index 73b2b4e9d..041e39f10 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/FriendList.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/FriendList.kt @@ -19,10 +19,10 @@ import net.mamoe.mirai.internal.network.protocol.packet.EMPTY_BYTE_ARRAY import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.jceRequestSBuffer -import net.mamoe.mirai.internal.utils.io.serialization.readUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.toByteArray -import net.mamoe.mirai.internal.utils.io.serialization.writeJceStruct +import net.mamoe.mirai.utils.serialization.jceRequestSBuffer +import net.mamoe.mirai.utils.serialization.readUniPacket +import net.mamoe.mirai.utils.serialization.toByteArray +import net.mamoe.mirai.utils.serialization.writeJceStruct internal class FriendList { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/ProfileService.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/ProfileService.kt index 3f2d4f600..e9d1bd613 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/ProfileService.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/list/ProfileService.kt @@ -19,9 +19,9 @@ import net.mamoe.mirai.internal.network.protocol.data.jce.RequestPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.buildOutgoingUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.jceRequestSBuffer -import net.mamoe.mirai.internal.utils.io.serialization.readUniPacket -import net.mamoe.mirai.internal.utils.io.serialization.writeJceStruct +import net.mamoe.mirai.utils.serialization.jceRequestSBuffer +import net.mamoe.mirai.utils.serialization.readUniPacket +import net.mamoe.mirai.utils.serialization.writeJceStruct import net.mamoe.mirai.utils.toByteArray internal class ProfileService { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/ConfigPushSvc.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/ConfigPushSvc.kt index 71285dfae..57507318b 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/ConfigPushSvc.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/ConfigPushSvc.kt @@ -22,13 +22,8 @@ import net.mamoe.mirai.internal.network.protocol.data.jce.RequestPacket import net.mamoe.mirai.internal.network.protocol.packet.IncomingPacketFactory import net.mamoe.mirai.internal.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.internal.network.protocol.packet.buildResponseUniPacket -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import net.mamoe.mirai.internal.utils.io.serialization.* -import net.mamoe.mirai.internal.utils.io.withUse -import net.mamoe.mirai.internal.utils.toReadPacket -import net.mamoe.mirai.utils.ByteArrayPool -import net.mamoe.mirai.utils.hexToBytes -import net.mamoe.mirai.utils.verbose +import net.mamoe.mirai.utils.* +import net.mamoe.mirai.utils.serialization.* import net.mamoe.mirai.internal.network.protocol.data.jce.PushReq as PushReqJceStruct diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt index 8bc12fc7a..0a7a836fd 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt @@ -33,11 +33,11 @@ import net.mamoe.mirai.internal.network.protocol.data.proto.StatSvcGetOnline import net.mamoe.mirai.internal.network.protocol.packet.* import net.mamoe.mirai.internal.utils.NetworkType import net.mamoe.mirai.internal.utils._miraiContentToString -import net.mamoe.mirai.internal.utils.encodeToString -import net.mamoe.mirai.internal.utils.io.serialization.* import net.mamoe.mirai.utils.currentTimeMillis -import net.mamoe.mirai.internal.utils.toReadPacket +import net.mamoe.mirai.utils.encodeToString import net.mamoe.mirai.utils.localIpAddress +import net.mamoe.mirai.utils.serialization.* +import net.mamoe.mirai.utils.toReadPacket @Suppress("EnumEntryName", "unused") internal enum class RegPushReason { diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt index 124903ce4..8f9a75044 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/WtLogin.kt @@ -15,10 +15,11 @@ import net.mamoe.mirai.internal.QQAndroidBot import net.mamoe.mirai.internal.network.* import net.mamoe.mirai.internal.network.protocol.LoginType import net.mamoe.mirai.internal.network.protocol.packet.* -import net.mamoe.mirai.internal.utils.* +import net.mamoe.mirai.internal.utils.GuidSource +import net.mamoe.mirai.internal.utils.MacOrAndroidIdChangeFlag +import net.mamoe.mirai.internal.utils._miraiContentToString import net.mamoe.mirai.internal.utils.crypto.TEA import net.mamoe.mirai.internal.utils.guidFlag -import net.mamoe.mirai.internal.utils.io.* import net.mamoe.mirai.utils.* internal class WtLogin { diff --git a/mirai-core/src/commonMain/kotlin/utils/byteArrays.kt b/mirai-core/src/commonMain/kotlin/utils/byteArrays.kt deleted file mode 100644 index 5c28aac3b..000000000 --- a/mirai-core/src/commonMain/kotlin/utils/byteArrays.kt +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2019-2020 Mamoe Technologies and contributors. - * - * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. - * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. - * - * https://github.com/mamoe/mirai/blob/master/LICENSE - */ - -@file:Suppress("EXPERIMENTAL_UNSIGNED_LITERALS", "NOTHING_TO_INLINE", "INVISIBLE_MEMBER", "INVISIBLE_REFERENCE") -@file:JvmMultifileClass -@file:JvmName("Utils") - -package net.mamoe.mirai.internal.utils - -import kotlinx.io.charsets.Charset -import kotlinx.io.charsets.Charsets -import kotlinx.io.core.ByteReadPacket -import kotlinx.io.core.String -import net.mamoe.mirai.internal.utils.io.withUse -import net.mamoe.mirai.utils.checkOffsetAndLength -import java.util.* -import kotlin.contracts.InvocationKind -import kotlin.contracts.contract - - -@JvmOverloads -@Suppress("DuplicatedCode") // false positive. foreach is not common to UByteArray and ByteArray -internal fun List.toUHexString(separator: String = " ", offset: Int = 0, length: Int = this.size - offset): String { - require(offset >= 0) { "offset shouldn't be negative: $offset" } - require(length >= 0) { "length shouldn't be negative: $length" } - require(offset + length <= this.size) { "offset ($offset) + length ($length) > array.size (${this.size})" } - - if (length == 0) { - return "" - } - val lastIndex = offset + length - return buildString(length * 2) { - this@toUHexString.forEachIndexed { index, it -> - if (index in offset until lastIndex) { - var ret = it.toUByte().toString(16).toUpperCase() - if (ret.length == 1) ret = "0$ret" - append(ret) - if (index < lastIndex - 1) append(separator) - } - } - } -} - -@kotlin.internal.LowPriorityInOverloadResolution -@JvmOverloads -@Suppress("DuplicatedCode") // false positive. foreach is not common to UByteArray and ByteArray -internal fun ByteArray.toUHexString(separator: String = " ", offset: Int = 0, length: Int = this.size - offset): String { - this.checkOffsetAndLength(offset, length) - if (length == 0) { - return "" - } - val lastIndex = offset + length - return buildString(length * 2) { - this@toUHexString.forEachIndexed { index, it -> - if (index in offset until lastIndex) { - var ret = it.toUByte().toString(16).toUpperCase() - if (ret.length == 1) ret = "0$ret" - append(ret) - if (index < lastIndex - 1) append(separator) - } - } - } -} - -@JvmSynthetic -@Suppress("DuplicatedCode") // false positive. foreach is not common to UByteArray and ByteArray -@ExperimentalUnsignedTypes -internal fun UByteArray.toUHexString(separator: String = " ", offset: Int = 0, length: Int = this.size - offset): String { - if (length == 0) { - return "" - } - val lastIndex = offset + length - return buildString(length * 2) { - this@toUHexString.forEachIndexed { index, it -> - if (index in offset until lastIndex) { - var ret = it.toByte().toUByte().toString(16).toUpperCase() - if (ret.length == 1) ret = "0$ret" - append(ret) - if (index < lastIndex - 1) append(separator) - } - } - } -} - -@Suppress("NOTHING_TO_INLINE") -internal inline fun ByteArray.encodeToString(offset: Int = 0, charset: Charset = Charsets.UTF_8): String = - String(this, charset = charset, offset = offset, length = this.size - offset) - -@Suppress("NOTHING_TO_INLINE") -internal inline fun ByteArray.encodeToBase64(): String = - Base64.getEncoder().encodeToString(this) - -@PublishedApi -internal inline fun ByteArray.toReadPacket(offset: Int = 0, length: Int = this.size - offset) = - ByteReadPacket(this, offset = offset, length = length) - -internal inline fun ByteArray.read(t: ByteReadPacket.() -> R): R { - contract { - callsInPlace(t, InvocationKind.EXACTLY_ONCE) - } - return this.toReadPacket().withUse(t) -} \ No newline at end of file diff --git a/mirai-core/src/commonMain/kotlin/utils/io/JceStruct.kt b/mirai-core/src/commonMain/kotlin/utils/io/JceStruct.kt index 669485e06..cf8c00ab1 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/JceStruct.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/JceStruct.kt @@ -7,6 +7,6 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -package net.mamoe.mirai.internal.utils.io +package net.mamoe.mirai.utils internal interface JceStruct \ No newline at end of file diff --git a/mirai-core/src/commonMain/kotlin/utils/io/ProtoBuf.kt b/mirai-core/src/commonMain/kotlin/utils/io/ProtoBuf.kt index 8d1538d62..81f07c8b4 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/ProtoBuf.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/ProtoBuf.kt @@ -7,7 +7,7 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -package net.mamoe.mirai.internal.utils.io +package net.mamoe.mirai.utils /** * 仅有标示作用 diff --git a/mirai-core/src/commonMain/kotlin/utils/io/output.kt b/mirai-core/src/commonMain/kotlin/utils/io/output.kt index 771ae7c10..21d5f3461 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/output.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/output.kt @@ -11,7 +11,7 @@ @file:JvmMultifileClass @file:JvmName("Utils") -package net.mamoe.mirai.internal.utils.io +package net.mamoe.mirai.utils import kotlinx.io.core.* import net.mamoe.mirai.internal.utils.coerceAtMostOrFail diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/ProtoBufWithNullableSupport.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/ProtoBufWithNullableSupport.kt index 4dca5f2a4..c7a2753c6 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/ProtoBufWithNullableSupport.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/ProtoBufWithNullableSupport.kt @@ -9,7 +9,7 @@ @file:Suppress("DEPRECATION_ERROR") -package net.mamoe.mirai.internal.utils.io.serialization +package net.mamoe.mirai.utils.serialization import kotlinx.serialization.* import kotlinx.serialization.builtins.ByteArraySerializer @@ -26,8 +26,8 @@ import kotlinx.serialization.modules.SerializersModule import kotlinx.serialization.protobuf.ProtoBuf import kotlinx.serialization.protobuf.ProtoIntegerType import kotlinx.serialization.protobuf.ProtoType -import net.mamoe.mirai.internal.utils.io.serialization.ProtoBufWithNullableSupport.Varint.encodeVarint -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.serialization.ProtoBufWithNullableSupport.Varint.encodeVarint +import net.mamoe.mirai.utils.serialization.tars.TarsId import java.io.ByteArrayOutputStream import java.nio.ByteBuffer import java.nio.ByteOrder diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/Tars.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/Tars.kt index eecec9143..24baa969e 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/Tars.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/Tars.kt @@ -9,7 +9,7 @@ @file:Suppress("MemberVisibilityCanBePrivate", "unused") -package net.mamoe.mirai.internal.utils.io.serialization.tars +package net.mamoe.mirai.utils.serialization.tars import kotlinx.io.charsets.Charset import kotlinx.io.charsets.Charsets @@ -17,10 +17,9 @@ import kotlinx.io.core.* import kotlinx.serialization.* import kotlinx.serialization.modules.EmptySerializersModule import kotlinx.serialization.modules.SerializersModule -import net.mamoe.mirai.internal.utils.io.serialization.tars.internal.TarsDecoder -import net.mamoe.mirai.internal.utils.io.serialization.tars.internal.TarsInput -import net.mamoe.mirai.internal.utils.io.serialization.tars.internal.TarsOld -import kotlin.jvm.JvmStatic +import net.mamoe.mirai.utils.serialization.tars.internal.TarsDecoder +import net.mamoe.mirai.utils.serialization.tars.internal.TarsInput +import net.mamoe.mirai.utils.serialization.tars.internal.TarsOld /** * The main entry point to work with Tars serialization. diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/TarsId.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/TarsId.kt index 0d31df958..e60a163e9 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/TarsId.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/TarsId.kt @@ -7,7 +7,7 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -package net.mamoe.mirai.internal.utils.io.serialization.tars +package net.mamoe.mirai.utils.serialization.tars import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialInfo diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsDecoder.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsDecoder.kt index b44dfac85..37586539c 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsDecoder.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsDecoder.kt @@ -9,7 +9,7 @@ @file:Suppress("PrivatePropertyName") -package net.mamoe.mirai.internal.utils.io.serialization.tars.internal +package net.mamoe.mirai.utils.serialization.tars.internal import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.InternalSerializationApi @@ -18,8 +18,8 @@ import kotlinx.serialization.encoding.AbstractDecoder import kotlinx.serialization.encoding.CompositeDecoder import kotlinx.serialization.internal.TaggedDecoder import kotlinx.serialization.modules.SerializersModule -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.serialization.tars.Tars +import net.mamoe.mirai.utils.serialization.tars.TarsId @OptIn(InternalSerializationApi::class, ExperimentalSerializationApi::class) diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsInput.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsInput.kt index 672dc8425..3e31ee588 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsInput.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsInput.kt @@ -7,11 +7,11 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -package net.mamoe.mirai.internal.utils.io.serialization.tars.internal +package net.mamoe.mirai.utils.serialization.tars.internal import kotlinx.io.charsets.Charset import kotlinx.io.core.* -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars +import net.mamoe.mirai.utils.serialization.tars.Tars /** diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsOld.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsOld.kt index c8ef2526e..22ecbde16 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsOld.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsOld.kt @@ -7,7 +7,7 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -package net.mamoe.mirai.internal.utils.io.serialization.tars.internal +package net.mamoe.mirai.utils.serialization.tars.internal import kotlinx.io.charsets.Charset import kotlinx.io.charsets.Charsets @@ -24,22 +24,22 @@ import kotlinx.serialization.internal.MapLikeSerializer import kotlinx.serialization.internal.TaggedEncoder import kotlinx.serialization.modules.EmptySerializersModule import kotlinx.serialization.modules.SerializersModule -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.BYTE -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.DOUBLE -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.FLOAT -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.INT -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.LIST -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.LONG -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.MAP -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.SHORT -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.SIMPLE_LIST -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.STRING1 -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.STRING4 -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.STRUCT_BEGIN -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.STRUCT_END -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.Tars_MAX_STRING_LENGTH -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars.Companion.ZERO_TYPE -import net.mamoe.mirai.internal.utils.io.serialization.tars.TarsId +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.BYTE +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.DOUBLE +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.FLOAT +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.INT +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.LIST +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.LONG +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.MAP +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.SHORT +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.SIMPLE_LIST +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.STRING1 +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.STRING4 +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.STRUCT_BEGIN +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.STRUCT_END +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.Tars_MAX_STRING_LENGTH +import net.mamoe.mirai.utils.serialization.tars.Tars.Companion.ZERO_TYPE +import net.mamoe.mirai.utils.serialization.tars.TarsId @OptIn(ExperimentalSerializationApi::class) internal inline fun SerialDescriptor.findAnnotation(elementIndex: Int): A? { diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsTag.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsTag.kt index 1b487becf..20088a8b4 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsTag.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/tars/internal/TarsTag.kt @@ -7,12 +7,12 @@ * https://github.com/mamoe/mirai/blob/master/LICENSE */ -package net.mamoe.mirai.internal.utils.io.serialization.tars.internal +package net.mamoe.mirai.utils.serialization.tars.internal import kotlinx.io.core.Output import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.descriptors.SerialDescriptor -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars +import net.mamoe.mirai.utils.serialization.tars.Tars internal abstract class TarsTag { diff --git a/mirai-core/src/commonMain/kotlin/utils/io/serialization/utils.kt b/mirai-core/src/commonMain/kotlin/utils/io/serialization/utils.kt index 6516f180c..a2ae5c3ab 100644 --- a/mirai-core/src/commonMain/kotlin/utils/io/serialization/utils.kt +++ b/mirai-core/src/commonMain/kotlin/utils/io/serialization/utils.kt @@ -10,7 +10,7 @@ @file:JvmName("SerializationUtils") @file:JvmMultifileClass -package net.mamoe.mirai.internal.utils.io.serialization +package net.mamoe.mirai.utils.serialization import kotlinx.io.core.* import kotlinx.serialization.DeserializationStrategy @@ -19,11 +19,11 @@ import kotlinx.serialization.descriptors.SerialDescriptor import net.mamoe.mirai.internal.network.protocol.data.jce.RequestDataVersion2 import net.mamoe.mirai.internal.network.protocol.data.jce.RequestDataVersion3 import net.mamoe.mirai.internal.network.protocol.data.jce.RequestPacket -import net.mamoe.mirai.internal.utils.io.JceStruct -import net.mamoe.mirai.internal.utils.io.ProtoBuf -import net.mamoe.mirai.internal.utils.io.readPacketExact -import net.mamoe.mirai.internal.utils.io.serialization.tars.Tars -import net.mamoe.mirai.internal.utils.read +import net.mamoe.mirai.utils.JceStruct +import net.mamoe.mirai.utils.ProtoBuf +import net.mamoe.mirai.utils.read +import net.mamoe.mirai.utils.readPacketExact +import net.mamoe.mirai.utils.serialization.tars.Tars internal fun ByteArray.loadWithUniPacket( deserializer: DeserializationStrategy, diff --git a/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt b/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt index c58d81c1f..fda4b1163 100644 --- a/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt +++ b/mirai-core/src/commonTest/kotlin/PlatformUtilsTest.kt @@ -9,10 +9,7 @@ package net.mamoe.mirai.internal.utils import kotlinx.io.core.toByteArray -import net.mamoe.mirai.utils.gzip -import net.mamoe.mirai.utils.ungzip -import net.mamoe.mirai.utils.unzip -import net.mamoe.mirai.utils.zip +import net.mamoe.mirai.utils.* import kotlin.test.Test import kotlin.test.assertEquals diff --git a/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt b/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt index 15da4bc58..c18f027a7 100644 --- a/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt +++ b/mirai-core/src/commonTest/kotlin/TypeConversionTest.kt @@ -10,6 +10,7 @@ package net.mamoe.mirai.internal.utils import net.mamoe.mirai.utils.hexToBytes import net.mamoe.mirai.utils.toByteArray +import net.mamoe.mirai.utils.toUHexString import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertTrue diff --git a/mirai-core/src/commonTest/kotlin/test/printing.kt b/mirai-core/src/commonTest/kotlin/test/printing.kt index 5b30d65a9..6842d25e0 100644 --- a/mirai-core/src/commonTest/kotlin/test/printing.kt +++ b/mirai-core/src/commonTest/kotlin/test/printing.kt @@ -14,18 +14,12 @@ package test import kotlinx.io.core.ByteReadPacket import kotlinx.io.core.Input import kotlinx.io.core.readAvailable -import kotlinx.io.core.use -import net.mamoe.mirai.internal.utils.toReadPacket -import net.mamoe.mirai.internal.utils.toUHexString -import net.mamoe.mirai.utils.ByteArrayPool -import net.mamoe.mirai.utils.MiraiLogger -import net.mamoe.mirai.utils.MiraiLoggerWithSwitch -import net.mamoe.mirai.utils.withSwitch +import net.mamoe.mirai.utils.* import kotlin.contracts.InvocationKind import kotlin.contracts.contract -val DebugLogger: MiraiLoggerWithSwitch = MiraiLogger.create("Packet Debug").withSwitch(true) +val DebugLogger: MiraiLogger = MiraiLogger.create("Packet Debug") internal inline fun ByteArray.debugPrintThis(name: String): ByteArray { DebugLogger.debug(name + "=" + this.toUHexString()) @@ -45,7 +39,7 @@ internal inline fun Input.debugIfFail( ByteArrayPool.useInstance { val count = this.readAvailable(it) try { - return it.toReadPacket(0, count).use(block) + return it.toReadPacket(0, count).withUse(block) } catch (e: Throwable) { onFail(it.take(count).toByteArray()).readAvailable(it) DebugLogger.debug("Error in ByteReadPacket $name=" + it.toUHexString(offset = 0, length = count))