Merge remote-tracking branch 'origin/master'

This commit is contained in:
jiahua.liu 2020-01-27 21:01:12 +08:00
commit 63ab80a560
12 changed files with 27 additions and 23 deletions

View File

@ -7,7 +7,7 @@ kotlin.parallel.tasks.in.project=true
# kotlin # kotlin
kotlinVersion=1.3.61 kotlinVersion=1.3.61
# kotlin libraries # kotlin libraries
serializationVersion=0.13.0 serializationVersion=0.14.0
coroutinesVersion=1.3.2 coroutinesVersion=1.3.2
atomicFuVersion=0.14.1 atomicFuVersion=0.14.1
kotlinXIoVersion=0.1.16 kotlinXIoVersion=0.1.16

View File

@ -64,7 +64,6 @@ kotlin {
api(project(":mirai-core")) api(project(":mirai-core"))
api(kotlin("stdlib", kotlinVersion)) api(kotlin("stdlib", kotlinVersion))
api(kotlin("serialization", kotlinVersion))
api("org.jetbrains.kotlinx:atomicfu:$atomicFuVersion") api("org.jetbrains.kotlinx:atomicfu:$atomicFuVersion")
api(kotlinx("io", kotlinXIoVersion)) api(kotlinx("io", kotlinXIoVersion))
@ -74,6 +73,7 @@ kotlin {
} }
commonMain { commonMain {
dependencies { dependencies {
api(kotlinx("serialization-runtime-common", serializationVersion))
} }
} }
commonTest { commonTest {
@ -103,6 +103,7 @@ kotlin {
val jvmMain by getting { val jvmMain by getting {
dependencies { dependencies {
runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE runtimeOnly(files("build/classes/kotlin/jvm/main")) // classpath is not properly set by IDE
api(kotlinx("serialization-runtime", serializationVersion))
} }
} }

View File

@ -1,4 +1,4 @@
package net.mamoe.mirai.qqandroid.network.io package net.mamoe.mirai.qqandroid.io
import kotlinx.io.charsets.Charset import kotlinx.io.charsets.Charset
import kotlinx.io.core.* import kotlinx.io.core.*
@ -33,7 +33,8 @@ fun <J : JceStruct> ByteReadPacket.readJceStruct(factory: JceStruct.Factory<J>,
} }
} }
fun ByteArray.asJceInput(charset: Charset = CharsetUTF8): JceInput = JceInput(this.toIoBuffer(), charset) fun ByteArray.asJceInput(charset: Charset = CharsetUTF8): JceInput =
JceInput(this.toIoBuffer(), charset)
fun <J : JceStruct> ByteReadPacket.readJceRequestBufferMapVersion2ToJceStruct(factory: JceStruct.Factory<J>, charset: Charset = CharsetUTF8): J { fun <J : JceStruct> ByteReadPacket.readJceRequestBufferMapVersion2ToJceStruct(factory: JceStruct.Factory<J>, charset: Charset = CharsetUTF8): J {
this.use { this.use {
@ -70,7 +71,8 @@ fun ByteReadPacket.readJceRequestBufferMapVersion3(charset: Charset = CharsetUTF
} }
} }
fun ByteReadPacket.asJceInput(charset: Charset = CharsetUTF8): JceInput = JceInput(this.readIoBuffer(), charset) fun ByteReadPacket.asJceInput(charset: Charset = CharsetUTF8): JceInput =
JceInput(this.readIoBuffer(), charset)
inline fun <R> IoBuffer.useIoBuffer(block: IoBuffer.() -> R): R { inline fun <R> IoBuffer.useIoBuffer(block: IoBuffer.() -> R): R {
return try { return try {

View File

@ -1,4 +1,4 @@
package net.mamoe.mirai.qqandroid.network.io package net.mamoe.mirai.qqandroid.io
import kotlinx.io.charsets.Charset import kotlinx.io.charsets.Charset
import kotlinx.io.core.* import kotlinx.io.core.*

View File

@ -1,9 +1,10 @@
package net.mamoe.mirai.qqandroid.network.io package net.mamoe.mirai.qqandroid.io
abstract class JceStruct { abstract class JceStruct {
abstract fun writeTo(builder: JceOutput) abstract fun writeTo(builder: JceOutput)
interface Factory<out T : JceStruct> { interface Factory<out T : JceStruct> {
fun newInstanceFrom(input: JceInput): T fun newInstanceFrom(input: JceInput): T
} }
} }

View File

@ -1,8 +1,8 @@
package net.mamoe.mirai.qqandroid.network.protocol.jce package net.mamoe.mirai.qqandroid.network.protocol.jce
import net.mamoe.mirai.qqandroid.network.io.JceInput import net.mamoe.mirai.qqandroid.io.JceInput
import net.mamoe.mirai.qqandroid.network.io.JceOutput import net.mamoe.mirai.qqandroid.io.JceOutput
import net.mamoe.mirai.qqandroid.network.io.JceStruct import net.mamoe.mirai.qqandroid.io.JceStruct
import net.mamoe.mirai.utils.cryptor.contentToString import net.mamoe.mirai.utils.cryptor.contentToString
private val EMPTY_MAP = mapOf<String, String>() private val EMPTY_MAP = mapOf<String, String>()

View File

@ -1,8 +1,8 @@
package net.mamoe.mirai.qqandroid.network.protocol.jce package net.mamoe.mirai.qqandroid.network.protocol.jce
import net.mamoe.mirai.qqandroid.network.io.JceInput import net.mamoe.mirai.qqandroid.io.JceInput
import net.mamoe.mirai.qqandroid.network.io.JceOutput import net.mamoe.mirai.qqandroid.io.JceOutput
import net.mamoe.mirai.qqandroid.network.io.JceStruct import net.mamoe.mirai.qqandroid.io.JceStruct
class SvcReqRegister( class SvcReqRegister(
var bIsOnline: Byte = 0, var bIsOnline: Byte = 0,

View File

@ -1,9 +1,9 @@
package net.mamoe.mirai.qqandroid.network.protocol.jce package net.mamoe.mirai.qqandroid.network.protocol.jce
import kotlinx.io.core.BytePacketBuilder import kotlinx.io.core.BytePacketBuilder
import net.mamoe.mirai.qqandroid.network.io.JceOutput import net.mamoe.mirai.qqandroid.io.JceOutput
import net.mamoe.mirai.qqandroid.network.io.buildJcePacket import net.mamoe.mirai.qqandroid.io.buildJcePacket
import net.mamoe.mirai.qqandroid.network.io.writeJcePacket import net.mamoe.mirai.qqandroid.io.writeJcePacket
inline fun BytePacketBuilder.writeUniRequestPacket(requestPacket: RequestPacket.() -> Unit) { inline fun BytePacketBuilder.writeUniRequestPacket(requestPacket: RequestPacket.() -> Unit) {
writeJcePacket { writeJcePacket {

View File

@ -4,7 +4,7 @@ import kotlinx.io.core.*
import kotlinx.io.pool.useInstance import kotlinx.io.pool.useInstance
import net.mamoe.mirai.data.Packet import net.mamoe.mirai.data.Packet
import net.mamoe.mirai.qqandroid.QQAndroidBot import net.mamoe.mirai.qqandroid.QQAndroidBot
import net.mamoe.mirai.qqandroid.network.io.JceInput import net.mamoe.mirai.qqandroid.io.JceInput
import net.mamoe.mirai.qqandroid.network.protocol.jce.RequestPacket import net.mamoe.mirai.qqandroid.network.protocol.jce.RequestPacket
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.MessageSvc
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.OnlinePush import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive.OnlinePush

View File

@ -1,9 +1,9 @@
package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data
import net.mamoe.mirai.data.Packet import net.mamoe.mirai.data.Packet
import net.mamoe.mirai.qqandroid.network.io.JceInput import net.mamoe.mirai.qqandroid.io.JceInput
import net.mamoe.mirai.qqandroid.network.io.JceOutput import net.mamoe.mirai.qqandroid.io.JceOutput
import net.mamoe.mirai.qqandroid.network.io.JceStruct import net.mamoe.mirai.qqandroid.io.JceStruct
import net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY import net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY
class RequestPushNotify( class RequestPushNotify(

View File

@ -2,7 +2,7 @@ package net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive
import kotlinx.io.core.ByteReadPacket import kotlinx.io.core.ByteReadPacket
import net.mamoe.mirai.qqandroid.QQAndroidBot import net.mamoe.mirai.qqandroid.QQAndroidBot
import net.mamoe.mirai.qqandroid.network.io.readJceRequestBufferMapVersion2ToJceStruct import net.mamoe.mirai.qqandroid.io.readJceRequestBufferMapVersion2ToJceStruct
import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketFactory import net.mamoe.mirai.qqandroid.network.protocol.packet.PacketFactory
import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data.RequestPushNotify import net.mamoe.mirai.qqandroid.network.protocol.packet.chat.data.RequestPushNotify
import net.mamoe.mirai.utils.cryptor.contentToString import net.mamoe.mirai.utils.cryptor.contentToString

View File

@ -5,8 +5,8 @@ import kotlinx.serialization.protobuf.ProtoBuf
import net.mamoe.mirai.data.Packet import net.mamoe.mirai.data.Packet
import net.mamoe.mirai.qqandroid.QQAndroidBot import net.mamoe.mirai.qqandroid.QQAndroidBot
import net.mamoe.mirai.qqandroid.network.QQAndroidClient import net.mamoe.mirai.qqandroid.network.QQAndroidClient
import net.mamoe.mirai.qqandroid.network.io.jceMap import net.mamoe.mirai.qqandroid.io.jceMap
import net.mamoe.mirai.qqandroid.network.io.jceStruct import net.mamoe.mirai.qqandroid.io.jceStruct
import net.mamoe.mirai.qqandroid.network.protocol.jce.SvcReqRegister import net.mamoe.mirai.qqandroid.network.protocol.jce.SvcReqRegister
import net.mamoe.mirai.qqandroid.network.protocol.jce.writeUniRequestPacket import net.mamoe.mirai.qqandroid.network.protocol.jce.writeUniRequestPacket
import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket import net.mamoe.mirai.qqandroid.network.protocol.packet.OutgoingPacket