Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
b3c4f24e
Commit
b3c4f24e
authored
Mar 07, 2020
by
Him188
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Use `io.ktor.utils.io` than `kotlinx.io`"
This reverts commit
6a85769e
parent
92504fc3
Changes
50
Hide whitespace changes
Inline
Side-by-side
Showing
50 changed files
with
132 additions
and
517 deletions
+132
-517
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt
...ommonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/serialization/Jce.kt
.../kotlin/net/mamoe/mirai/qqandroid/io/serialization/Jce.kt
+2
-2
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/serialization/utils.kt
...otlin/net/mamoe/mirai/qqandroid/io/serialization/utils.kt
+1
-4
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt
...Main/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt
+4
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidClient.kt
...tlin/net/mamoe/mirai/qqandroid/network/QQAndroidClient.kt
+2
-2
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/HighwayHelper.kt
...et/mamoe/mirai/qqandroid/network/highway/HighwayHelper.kt
+5
-5
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/highway.kt
...tlin/net/mamoe/mirai/qqandroid/network/highway/highway.kt
+4
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/data/proto/Cmd0x857.kt
...e/mirai/qqandroid/network/protocol/data/proto/Cmd0x857.kt
+0
-408
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/EncryptMethod.kt
.../mirai/qqandroid/network/protocol/packet/EncryptMethod.kt
+4
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/OutgoingPacketAndroid.kt
...qandroid/network/protocol/packet/OutgoingPacketAndroid.kt
+10
-9
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt
.../mirai/qqandroid/network/protocol/packet/PacketFactory.kt
+2
-2
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/Tlv.kt
.../net/mamoe/mirai/qqandroid/network/protocol/packet/Tlv.kt
+4
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/PbMessageSvc.kt
...ai/qqandroid/network/protocol/packet/chat/PbMessageSvc.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/TroopManagement.kt
...qqandroid/network/protocol/packet/chat/TroopManagement.kt
+5
-2
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/image/ImgStore.kt
.../qqandroid/network/protocol/packet/chat/image/ImgStore.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/image/LongConn.kt
.../qqandroid/network/protocol/packet/chat/image/LongConn.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.kt
...ndroid/network/protocol/packet/chat/receive/MessageSvc.kt
+2
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/list/FriendList.kt
...irai/qqandroid/network/protocol/packet/list/FriendList.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/ConfigPushSvc.kt
.../qqandroid/network/protocol/packet/login/ConfigPushSvc.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/StatSvc.kt
.../mirai/qqandroid/network/protocol/packet/login/StatSvc.kt
+1
-1
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/WtLogin.kt
.../mirai/qqandroid/network/protocol/packet/login/WtLogin.kt
+6
-3
mirai-core-qqandroid/src/commonTest/kotlin/test/printing.kt
mirai-core-qqandroid/src/commonTest/kotlin/test/printing.kt
+5
-5
mirai-core-qqandroid/src/jvmTest/kotlin/net.mamoe.mirai.qqandroid.io.serialization/JceDecoderTest.kt
....mamoe.mirai.qqandroid.io.serialization/JceDecoderTest.kt
+1
-1
mirai-core-qqandroid/src/jvmTest/kotlin/test/ProtoBufDataClassGenerator.kt
...oid/src/jvmTest/kotlin/test/ProtoBufDataClassGenerator.kt
+1
-1
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/ExternalImageAndroid.kt
...Main/kotlin/net/mamoe/mirai/utils/ExternalImageAndroid.kt
+1
-0
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/SystemDeviceInfo.kt
...roidMain/kotlin/net/mamoe/mirai/utils/SystemDeviceInfo.kt
+1
-1
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformDatagramChannelAndroid.kt
...et/mamoe/mirai/utils/io/PlatformDatagramChannelAndroid.kt
+4
-4
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
...oidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
+5
-5
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/platformAndroid.kt
...droidMain/kotlin/net/mamoe/mirai/utils/platformAndroid.kt
+1
-1
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/BotAccount.kt
...-core/src/commonMain/kotlin/net.mamoe.mirai/BotAccount.kt
+1
-1
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/data/ImageLink.kt
...e/src/commonMain/kotlin/net.mamoe.mirai/data/ImageLink.kt
+2
-2
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt
...mmonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt
+0
-1
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/ExternalImage.kt
.../commonMain/kotlin/net.mamoe.mirai/utils/ExternalImage.kt
+2
-2
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/channels.kt
...e/src/commonMain/kotlin/net.mamoe.mirai/utils/channels.kt
+2
-5
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/cryptor/TEA.kt
...rc/commonMain/kotlin/net.mamoe.mirai/utils/cryptor/TEA.kt
+2
-3
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/PlatformDatagramChannel.kt
...otlin/net.mamoe.mirai/utils/io/PlatformDatagramChannel.kt
+2
-2
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/PlatformSocket.kt
...monMain/kotlin/net.mamoe.mirai/utils/io/PlatformSocket.kt
+2
-2
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/byteArrays.kt
.../commonMain/kotlin/net.mamoe.mirai/utils/io/byteArrays.kt
+5
-5
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/chunked.kt
...src/commonMain/kotlin/net.mamoe.mirai/utils/io/chunked.kt
+3
-5
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/conversion.kt
.../commonMain/kotlin/net.mamoe.mirai/utils/io/conversion.kt
+12
-0
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/output.kt
.../src/commonMain/kotlin/net.mamoe.mirai/utils/io/output.kt
+1
-1
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/platform.kt
...e/src/commonMain/kotlin/net.mamoe.mirai/utils/platform.kt
+1
-1
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/message/MessagePacket.kt
...c/jvmMain/kotlin/net/mamoe/mirai/message/MessagePacket.kt
+2
-2
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/message/SendImageUtilsJvm.kt
...mMain/kotlin/net/mamoe/mirai/message/SendImageUtilsJvm.kt
+1
-1
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/BotConfigurationJvm.kt
...mMain/kotlin/net/mamoe/mirai/utils/BotConfigurationJvm.kt
+1
-1
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt
.../jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt
+5
-5
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/PlatformUtilsJvm.kt
.../jvmMain/kotlin/net/mamoe/mirai/utils/PlatformUtilsJvm.kt
+1
-1
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/SystemDeviceInfo.kt
.../jvmMain/kotlin/net/mamoe/mirai/utils/SystemDeviceInfo.kt
+1
-1
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
...jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
+5
-5
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocketJvm.kt
...Main/kotlin/net/mamoe/mirai/utils/io/PlatformSocketJvm.kt
+4
-4
No files found.
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/ContactImpl.kt
View file @
b3c4f24e
...
@@ -9,9 +9,9 @@
...
@@ -9,9 +9,9 @@
package
net.mamoe.mirai.qqandroid
package
net.mamoe.mirai.qqandroid
import
io.ktor.utils.io.core.Closeable
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.launch
import
kotlinx.coroutines.withTimeoutOrNull
import
kotlinx.coroutines.withTimeoutOrNull
import
kotlinx.io.core.Closeable
import
net.mamoe.mirai.LowLevelAPI
import
net.mamoe.mirai.LowLevelAPI
import
net.mamoe.mirai.contact.*
import
net.mamoe.mirai.contact.*
import
net.mamoe.mirai.data.*
import
net.mamoe.mirai.data.*
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/serialization/Jce.kt
View file @
b3c4f24e
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
package
net.mamoe.mirai.qqandroid.io.serialization
package
net.mamoe.mirai.qqandroid.io.serialization
import
io.ktor.utils
.io.charsets.Charset
import
kotlinx
.io.charsets.Charset
import
io.ktor.utils
.io.core.*
import
kotlinx
.io.core.*
import
kotlinx.serialization.*
import
kotlinx.serialization.*
import
kotlinx.serialization.internal.*
import
kotlinx.serialization.internal.*
import
kotlinx.serialization.modules.EmptyModule
import
kotlinx.serialization.modules.EmptyModule
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/io/serialization/utils.kt
View file @
b3c4f24e
...
@@ -12,10 +12,7 @@
...
@@ -12,10 +12,7 @@
package
net.mamoe.mirai.qqandroid.io.serialization
package
net.mamoe.mirai.qqandroid.io.serialization
import
io.ktor.utils.io.core.BytePacketBuilder
import
kotlinx.io.core.*
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.readBytes
import
io.ktor.utils.io.core.writeFully
import
kotlinx.serialization.DeserializationStrategy
import
kotlinx.serialization.DeserializationStrategy
import
kotlinx.serialization.SerialDescriptor
import
kotlinx.serialization.SerialDescriptor
import
kotlinx.serialization.SerializationStrategy
import
kotlinx.serialization.SerializationStrategy
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/message/messages.kt
View file @
b3c4f24e
...
@@ -9,7 +9,10 @@
...
@@ -9,7 +9,10 @@
package
net.mamoe.mirai.qqandroid.message
package
net.mamoe.mirai.qqandroid.message
import
io.ktor.utils.io.core.*
import
kotlinx.io.core.buildPacket
import
kotlinx.io.core.discardExact
import
kotlinx.io.core.readBytes
import
kotlinx.io.core.readUInt
import
net.mamoe.mirai.LowLevelAPI
import
net.mamoe.mirai.LowLevelAPI
import
net.mamoe.mirai.contact.Member
import
net.mamoe.mirai.contact.Member
import
net.mamoe.mirai.message.data.*
import
net.mamoe.mirai.message.data.*
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidClient.kt
View file @
b3c4f24e
...
@@ -11,9 +11,9 @@
...
@@ -11,9 +11,9 @@
package
net.mamoe.mirai.qqandroid.network
package
net.mamoe.mirai.qqandroid.network
import
io.ktor.utils.io.core.*
import
kotlinx.atomicfu.AtomicInt
import
kotlinx.atomicfu.AtomicInt
import
kotlinx.atomicfu.atomic
import
kotlinx.atomicfu.atomic
import
kotlinx.io.core.*
import
net.mamoe.mirai.BotAccount
import
net.mamoe.mirai.BotAccount
import
net.mamoe.mirai.RawAccountIdUse
import
net.mamoe.mirai.RawAccountIdUse
import
net.mamoe.mirai.data.OnlineStatus
import
net.mamoe.mirai.data.OnlineStatus
...
@@ -315,7 +315,7 @@ internal class Pt4Token(data: ByteArray, creationTime: Long, expireTime: Long) :
...
@@ -315,7 +315,7 @@ internal class Pt4Token(data: ByteArray, creationTime: Long, expireTime: Long) :
internal
typealias
PSKeyMap
=
MutableMap
<
String
,
PSKey
>
internal
typealias
PSKeyMap
=
MutableMap
<
String
,
PSKey
>
internal
typealias
Pt4TokenMap
=
MutableMap
<
String
,
Pt4Token
>
internal
typealias
Pt4TokenMap
=
MutableMap
<
String
,
Pt4Token
>
internal
inline
fun
Input
.
readUShortLVString
():
String
=
io
.
ktor
.
utils
.
io
.
core
.
String
(
this
.
readUShortLVByteArray
())
internal
inline
fun
Input
.
readUShortLVString
():
String
=
kotlinx
.
io
.
core
.
String
(
this
.
readUShortLVByteArray
())
internal
inline
fun
Input
.
readUShortLVByteArray
():
ByteArray
=
this
.
readBytes
(
this
.
readUShort
().
toInt
())
internal
inline
fun
Input
.
readUShortLVByteArray
():
ByteArray
=
this
.
readBytes
(
this
.
readUShort
().
toInt
())
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/HighwayHelper.kt
View file @
b3c4f24e
...
@@ -18,14 +18,14 @@ import io.ktor.http.content.OutgoingContent
...
@@ -18,14 +18,14 @@ import io.ktor.http.content.OutgoingContent
import
io.ktor.http.userAgent
import
io.ktor.http.userAgent
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.copyAndClose
import
io.ktor.utils.io.copyAndClose
import
io.ktor.utils.io.core.Input
import
io.ktor.utils.io.core.readAvailable
import
io.ktor.utils.io.core.readInt
import
io.ktor.utils.io.core.use
import
io.ktor.utils.io.pool.useInstance
import
kotlinx.coroutines.InternalCoroutinesApi
import
kotlinx.coroutines.InternalCoroutinesApi
import
kotlinx.coroutines.flow.collect
import
kotlinx.coroutines.flow.collect
import
kotlinx.io.InputStream
import
kotlinx.io.InputStream
import
kotlinx.io.core.Input
import
kotlinx.io.core.discardExact
import
kotlinx.io.core.readAvailable
import
kotlinx.io.core.use
import
kotlinx.io.pool.useInstance
import
net.mamoe.mirai.qqandroid.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.qqandroid.network.protocol.data.proto.CSDataHighwayHead
import
net.mamoe.mirai.qqandroid.network.protocol.data.proto.CSDataHighwayHead
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/highway/highway.kt
View file @
b3c4f24e
...
@@ -12,10 +12,13 @@
...
@@ -12,10 +12,13 @@
package
net.mamoe.mirai.qqandroid.network.highway
package
net.mamoe.mirai.qqandroid.network.highway
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.core.*
import
kotlinx.coroutines.flow.Flow
import
kotlinx.coroutines.flow.Flow
import
kotlinx.coroutines.flow.map
import
kotlinx.coroutines.flow.map
import
kotlinx.io.InputStream
import
kotlinx.io.InputStream
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Input
import
kotlinx.io.core.buildPacket
import
kotlinx.io.core.writeFully
import
net.mamoe.mirai.qqandroid.io.serialization.toByteArray
import
net.mamoe.mirai.qqandroid.io.serialization.toByteArray
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.qqandroid.network.protocol.data.proto.CSDataHighwayHead
import
net.mamoe.mirai.qqandroid.network.protocol.data.proto.CSDataHighwayHead
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/data/proto/Cmd0x857.kt
deleted
100644 → 0
View file @
92504fc3
/*
* Copyright 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
(
"SpellCheckingInspection"
)
package
net.mamoe.mirai.qqandroid.network.protocol.data.proto
import
kotlinx.serialization.SerialId
import
kotlinx.serialization.Serializable
import
kotlinx.serialization.protobuf.ProtoNumberType
import
kotlinx.serialization.protobuf.ProtoType
import
net.mamoe.mirai.qqandroid.io.ProtoBuf
import
net.mamoe.mirai.qqandroid.network.protocol.packet.EMPTY_BYTE_ARRAY
class
GroupOpenSysMsg
:
ProtoBuf
{
@Serializable
class
LightApp
(
@SerialId
(
1
)
val
app
:
String
=
""
,
@SerialId
(
2
)
val
view
:
String
=
""
,
@SerialId
(
3
)
val
desc
:
String
=
""
,
@SerialId
(
4
)
val
prompt
:
String
=
""
,
@SerialId
(
5
)
val
ver
:
String
=
""
,
@SerialId
(
6
)
val
meta
:
String
=
""
,
@SerialId
(
7
)
val
config
:
String
=
""
,
@SerialId
(
8
)
val
source
:
Source
?
=
null
)
:
ProtoBuf
@Serializable
class
RichMsg
(
@SerialId
(
1
)
val
title
:
String
=
""
,
@SerialId
(
2
)
val
desc
:
String
=
""
,
@SerialId
(
3
)
val
brief
:
String
=
""
,
@SerialId
(
4
)
val
cover
:
String
=
""
,
@SerialId
(
5
)
val
url
:
String
=
""
,
@SerialId
(
6
)
val
source
:
Source
?
=
null
)
:
ProtoBuf
@Serializable
class
Sender
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
nick
:
String
=
""
,
@SerialId
(
3
)
val
avatar
:
String
=
""
,
@SerialId
(
4
)
val
url
:
String
=
""
)
:
ProtoBuf
@Serializable
class
Source
(
@SerialId
(
1
)
val
name
:
String
=
""
,
@SerialId
(
2
)
val
icon
:
String
=
""
,
@SerialId
(
3
)
val
url
:
String
=
""
)
:
ProtoBuf
@Serializable
class
SysMsgBody
(
@SerialId
(
1
)
val
groupId
:
Long
=
0L
,
@SerialId
(
2
)
val
appid
:
Long
=
0L
,
@SerialId
(
3
)
val
sender
:
Sender
?
=
null
,
@SerialId
(
4
)
val
msgType
:
Int
=
0
,
@SerialId
(
5
)
val
content
:
String
=
""
,
@SerialId
(
6
)
val
richMsg
:
RichMsg
?
=
null
,
@SerialId
(
7
)
val
lightApp
:
LightApp
?
=
null
)
:
ProtoBuf
}
@Serializable
class
TroopTips0x857
:
ProtoBuf
{
@Serializable
class
AIOGrayTipsInfo
(
@SerialId
(
1
)
val
optUint32ShowLastest
:
Int
=
0
,
@SerialId
(
2
)
val
optBytesContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
optUint32Remind
:
Int
=
0
,
@SerialId
(
4
)
val
optBytesBrief
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
receiverUin
:
Long
=
0L
,
@SerialId
(
6
)
val
reliaoAdminOpt
:
Int
=
0
,
@SerialId
(
7
)
val
robotGroupOpt
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
AIOTopTipsInfo
(
@SerialId
(
1
)
val
optBytesContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
optUint32Icon
:
Int
=
0
,
@SerialId
(
3
)
val
optEnumAction
:
Int
/* enum */
=
1
,
@SerialId
(
4
)
val
optBytesUrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
optBytesData
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
optBytesDataI
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
7
)
val
optBytesDataA
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
8
)
val
optBytesDataP
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
FloatedTipsInfo
(
@SerialId
(
1
)
val
optBytesContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
GeneralGrayTipInfo
(
@SerialId
(
1
)
val
busiType
:
Long
=
0L
,
@SerialId
(
2
)
val
busiId
:
Long
=
0L
,
@SerialId
(
3
)
val
ctrlFlag
:
Int
=
0
,
@SerialId
(
4
)
val
c2cType
:
Int
=
0
,
@SerialId
(
5
)
val
serviceType
:
Int
=
0
,
@SerialId
(
6
)
val
templId
:
Long
=
0L
,
@SerialId
(
7
)
val
msgTemplParam
:
List
<
TemplParam
>?
=
null
,
@SerialId
(
8
)
val
content
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
10
)
val
tipsSeqId
:
Long
=
0L
,
@SerialId
(
100
)
val
pbReserv
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
GoldMsgTipsElem
(
@SerialId
(
1
)
val
type
:
Int
=
0
,
@SerialId
(
2
)
val
billno
:
String
=
""
,
@SerialId
(
3
)
val
result
:
Int
=
0
,
@SerialId
(
4
)
val
amount
:
Int
=
0
,
@SerialId
(
5
)
val
total
:
Int
=
0
,
@SerialId
(
6
)
val
interval
:
Int
=
0
,
@SerialId
(
7
)
val
finish
:
Int
=
0
,
@SerialId
(
8
)
val
uin
:
List
<
Long
>?
=
null
,
@SerialId
(
9
)
val
action
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
GroupInfoChange
(
@SerialId
(
1
)
val
groupHonorSwitch
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
GroupNotifyInfo
(
@SerialId
(
1
)
val
optUint32AutoPullFlag
:
Int
=
0
,
@SerialId
(
2
)
val
optBytesFeedsId
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
InstCtrl
(
@SerialId
(
1
)
val
msgSendToInst
:
List
<
InstInfo
>?
=
null
,
@SerialId
(
2
)
val
msgExcludeInst
:
List
<
InstInfo
>?
=
null
,
@SerialId
(
3
)
val
msgFromInst
:
InstInfo
?
=
null
)
:
ProtoBuf
@Serializable
class
InstInfo
(
@SerialId
(
1
)
val
apppid
:
Int
=
0
,
@SerialId
(
2
)
val
instid
:
Int
=
0
,
@SerialId
(
3
)
val
platform
:
Int
=
0
,
@SerialId
(
4
)
val
openAppid
:
Int
=
0
,
@SerialId
(
5
)
val
productid
:
Int
=
0
,
@SerialId
(
6
)
val
ssoBid
:
Int
=
0
,
@SerialId
(
7
)
val
guid
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
8
)
val
verMin
:
Int
=
0
,
@SerialId
(
9
)
val
verMax
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
LbsShareChangePushInfo
(
@SerialId
(
1
)
val
msgType
:
Int
=
0
,
@SerialId
(
2
)
val
msgInfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
versionCtrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
groupId
:
Long
=
0L
,
@SerialId
(
5
)
val
operUin
:
Long
=
0L
,
@SerialId
(
6
)
val
grayTips
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
7
)
val
msgSeq
:
Long
=
0L
,
@SerialId
(
8
)
val
joinNums
:
Int
=
0
,
@SerialId
(
99
)
val
pushType
:
Int
=
0
,
@SerialId
(
100
)
val
extInfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
LuckyBagNotify
(
@SerialId
(
1
)
val
msgTips
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
MediaChangePushInfo
(
@SerialId
(
1
)
val
msgType
:
Int
=
0
,
@SerialId
(
2
)
val
msgInfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
versionCtrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
groupId
:
Long
=
0L
,
@SerialId
(
5
)
val
operUin
:
Long
=
0L
,
@SerialId
(
6
)
val
grayTips
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
7
)
val
msgSeq
:
Long
=
0L
,
@SerialId
(
8
)
val
joinNums
:
Int
=
0
,
@SerialId
(
9
)
val
msgPerSetting
:
PersonalSetting
?
=
null
,
@SerialId
(
10
)
val
playMode
:
Int
=
0
,
@SerialId
(
99
)
val
mediaType
:
Int
=
0
,
@SerialId
(
100
)
val
extInfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
{
@Serializable
class
PersonalSetting
(
@SerialId
(
1
)
val
themeId
:
Int
=
0
,
@SerialId
(
2
)
val
playerId
:
Int
=
0
,
@SerialId
(
3
)
val
fontId
:
Int
=
0
)
:
ProtoBuf
}
@Serializable
class
MessageBoxInfo
(
@SerialId
(
1
)
val
optBytesContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
optBytesTitle
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
optBytesButton
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
MessageRecallReminder
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
nickname
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
recalledMsgList
:
List
<
MessageMeta
>
=
listOf
(),
@SerialId
(
4
)
val
reminderContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
userdef
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
groupType
:
Int
=
0
,
@SerialId
(
7
)
val
opType
:
Int
=
0
)
:
ProtoBuf
{
@Serializable
class
MessageMeta
(
@SerialId
(
1
)
val
seq
:
Int
=
0
,
@SerialId
(
2
)
val
time
:
Int
=
0
,
@SerialId
(
3
)
val
msgRandom
:
Int
=
0
,
@SerialId
(
4
)
val
msgType
:
Int
=
0
,
@SerialId
(
5
)
val
msgFlag
:
Int
=
0
,
@SerialId
(
6
)
val
authorUin
:
Long
=
0L
)
:
ProtoBuf
}
@Serializable
class
MiniAppNotify
(
@SerialId
(
1
)
val
msg
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
NotifyMsgBody
(
@SerialId
(
1
)
val
optEnumType
:
Int
/* enum */
=
1
,
@SerialId
(
2
)
val
optUint64MsgTime
:
Long
=
0L
,
@SerialId
(
3
)
val
optUint64MsgExpires
:
Long
=
0L
,
@SerialId
(
4
)
val
optUint64GroupCode
:
Long
=
0L
,
@SerialId
(
5
)
val
optMsgGraytips
:
AIOGrayTipsInfo
?
=
null
,
@SerialId
(
6
)
val
optMsgMessagebox
:
MessageBoxInfo
?
=
null
,
@SerialId
(
7
)
val
optMsgFloatedtips
:
FloatedTipsInfo
?
=
null
,
@SerialId
(
8
)
val
optMsgToptips
:
AIOTopTipsInfo
?
=
null
,
@SerialId
(
9
)
val
optMsgRedtips
:
RedGrayTipsInfo
?
=
null
,
@SerialId
(
10
)
val
optMsgGroupNotify
:
GroupNotifyInfo
?
=
null
,
@SerialId
(
11
)
val
optMsgRecall
:
MessageRecallReminder
?
=
null
,
@SerialId
(
12
)
val
optMsgThemeNotify
:
ThemeStateNotify
?
=
null
,
@SerialId
(
13
)
val
serviceType
:
Int
=
0
,
@SerialId
(
14
)
val
optMsgObjmsgUpdate
:
NotifyObjmsgUpdate
?
=
null
,
@SerialId
(
15
)
val
optMsgWerewolfPush
:
WereWolfPush
?
=
null
,
// @SerialId(16) val optStcmGameState: ApolloGameStatus.STCMGameMessage? = null,
// @SerialId(17) val aplloMsgPush: ApolloPushMsgInfo.STPushMsgElem? = null,
@SerialId
(
18
)
val
optMsgGoldtips
:
GoldMsgTipsElem
?
=
null
,
@SerialId
(
20
)
val
optMsgMiniappNotify
:
MiniAppNotify
?
=
null
,
@SerialId
(
21
)
val
optUint64SenderUin
:
Long
=
0L
,
@SerialId
(
22
)
val
optMsgLuckybagNotify
:
LuckyBagNotify
?
=
null
,
@SerialId
(
23
)
val
optMsgTroopformtipsPush
:
TroopFormGrayTipsInfo
?
=
null
,
@SerialId
(
24
)
val
optMsgMediaPush
:
MediaChangePushInfo
?
=
null
,
@SerialId
(
26
)
val
optGeneralGrayTip
:
GeneralGrayTipInfo
?
=
null
,
@SerialId
(
27
)
val
optMsgVideoPush
:
VideoChangePushInfo
?
=
null
,
@SerialId
(
28
)
val
optLbsShareChangePlusInfo
:
LbsShareChangePushInfo
?
=
null
,
@SerialId
(
29
)
val
optMsgSingPush
:
SingChangePushInfo
?
=
null
,
@SerialId
(
30
)
val
optMsgGroupInfoChange
:
GroupInfoChange
?
=
null
)
:
ProtoBuf
@Serializable
class
NotifyObjmsgUpdate
(
@SerialId
(
1
)
val
objmsgId
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
updateType
:
Int
=
0
,
@SerialId
(
3
)
val
extMsg
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
RedGrayTipsInfo
(
@SerialId
(
1
)
val
optUint32ShowLastest
:
Int
=
0
,
@SerialId
(
2
)
val
senderUin
:
Long
=
0L
,
@SerialId
(
3
)
val
receiverUin
:
Long
=
0L
,
@SerialId
(
4
)
val
senderRichContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
receiverRichContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
authkey
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@ProtoType
(
ProtoNumberType
.
SIGNED
)
@SerialId
(
7
)
val
sint32Msgtype
:
Int
=
0
,
@SerialId
(
8
)
val
luckyFlag
:
Int
=
0
,
@SerialId
(
9
)
val
hideFlag
:
Int
=
0
,
@SerialId
(
10
)
val
pcBody
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
11
)
val
icon
:
Int
=
0
,
@SerialId
(
12
)
val
luckyUin
:
Long
=
0L
,
@SerialId
(
13
)
val
time
:
Int
=
0
,
@SerialId
(
14
)
val
random
:
Int
=
0
,
@SerialId
(
15
)
val
broadcastRichContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
16
)
val
idiom
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
17
)
val
idiomSeq
:
Int
=
0
,
@SerialId
(
18
)
val
idiomAlpha
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
19
)
val
jumpurl
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
ReqBody
(
@SerialId
(
1
)
val
optUint64GroupCode
:
Long
=
0L
,
@SerialId
(
2
)
val
uint64Memberuins
:
List
<
Long
>?
=
null
,
@SerialId
(
3
)
val
optUint32Offline
:
Int
=
0
,
@SerialId
(
4
)
val
msgInstCtrl
:
InstCtrl
?
=
null
,
@SerialId
(
5
)
val
optBytesMsg
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
optUint32BusiType
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
RspBody
(
@SerialId
(
1
)
val
optUint64GroupCode
:
Long
=
0L
)
:
ProtoBuf
@Serializable
class
SingChangePushInfo
(
@SerialId
(
1
)
val
seq
:
Long
=
0L
,
@SerialId
(
2
)
val
actionType
:
Int
=
0
,
@SerialId
(
3
)
val
groupId
:
Long
=
0L
,
@SerialId
(
4
)
val
operUin
:
Long
=
0L
,
@SerialId
(
5
)
val
grayTips
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
joinNums
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
TemplParam
(
@SerialId
(
1
)
val
name
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
2
)
val
value
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
ThemeStateNotify
(
@SerialId
(
1
)
val
state
:
Int
=
0
,
@SerialId
(
2
)
val
feedsId
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
3
)
val
themeName
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
actionUin
:
Long
=
0L
,
@SerialId
(
5
)
val
createUin
:
Long
=
0L
)
:
ProtoBuf
@Serializable
class
TroopFormGrayTipsInfo
(
@SerialId
(
1
)
val
writerUin
:
Long
=
0L
,
@SerialId
(
2
)
val
creatorUin
:
Long
=
0L
,
@SerialId
(
3
)
val
richContent
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
4
)
val
optBytesUrl
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
5
)
val
creatorNick
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
VideoChangePushInfo
(
@SerialId
(
1
)
val
seq
:
Long
=
0L
,
@SerialId
(
2
)
val
actionType
:
Int
=
0
,
@SerialId
(
3
)
val
groupId
:
Long
=
0L
,
@SerialId
(
4
)
val
operUin
:
Long
=
0L
,
@SerialId
(
5
)
val
grayTips
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
6
)
val
joinNums
:
Int
=
0
,
@SerialId
(
100
)
val
extInfo
:
ByteArray
=
EMPTY_BYTE_ARRAY
)
:
ProtoBuf
@Serializable
class
WereWolfPush
(
@SerialId
(
1
)
val
pushType
:
Int
=
0
,
@SerialId
(
2
)
val
gameRoom
:
Long
=
0L
,
@SerialId
(
3
)
val
enumGameState
:
Int
=
0
,
@SerialId
(
4
)
val
gameRound
:
Int
=
0
,
@SerialId
(
5
)
val
roles
:
List
<
Role
>?
=
null
,
@SerialId
(
6
)
val
speaker
:
Long
=
0L
,
@SerialId
(
7
)
val
judgeUin
:
Long
=
0L
,
@SerialId
(
8
)
val
judgeWords
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
9
)
val
enumOperation
:
Int
=
0
,
@SerialId
(
10
)
val
srcUser
:
Long
=
0L
,
@SerialId
(
11
)
val
dstUser
:
Long
=
0L
,
@SerialId
(
12
)
val
deadUsers
:
List
<
Long
>?
=
null
,
@SerialId
(
13
)
val
gameResult
:
Int
=
0
,
@SerialId
(
14
)
val
timeoutSec
:
Int
=
0
,
@SerialId
(
15
)
val
killConfirmed
:
Int
=
0
,
@SerialId
(
16
)
val
judgeNickname
:
ByteArray
=
EMPTY_BYTE_ARRAY
,
@SerialId
(
17
)
val
votedTieUsers
:
List
<
Long
>?
=
null
)
:
ProtoBuf
{
@Serializable
class
GameRecord
(
@SerialId
(
1
)
val
total
:
Int
=
0
,
@SerialId
(
2
)
val
win
:
Int
=
0
,
@SerialId
(
3
)
val
lose
:
Int
=
0
,
@SerialId
(
4
)
val
draw
:
Int
=
0
)
:
ProtoBuf
@Serializable
class
Role
(
@SerialId
(
1
)
val
uin
:
Long
=
0L
,
@SerialId
(
2
)
val
enumType
:
Int
=
0
,
@SerialId
(
3
)
val
enumState
:
Int
=
0
,
@SerialId
(
4
)
val
canSpeak
:
Int
=
0
,
@SerialId
(
5
)
val
canListen
:
Int
=
0
,
@SerialId
(
6
)
val
position
:
Int
=
0
,
@SerialId
(
7
)
val
canVote
:
Int
=
0
,
@SerialId
(
8
)
val
canVoted
:
Int
=
0
,
@SerialId
(
9
)
val
alreadyChecked
:
Int
=
0
,
@SerialId
(
10
)
val
alreadySaved
:
Int
=
0
,
@SerialId
(
11
)
val
alreadyPoisoned
:
Int
=
0
,
@SerialId
(
12
)
val
playerState
:
Int
=
0
,
@SerialId
(
13
)
val
enumDeadOp
:
Int
=
0
,
@SerialId
(
14
)
val
enumOperation
:
Int
=
0
,
@SerialId
(
15
)
val
dstUser
:
Long
=
0L
,
@SerialId
(
16
)
val
operationRound
:
Int
=
0
,
@SerialId
(
17
)
val
msgGameRecord
:
GameRecord
?
=
null
,
@SerialId
(
18
)
val
isWerewolf
:
Int
=
0
,
@SerialId
(
19
)
val
defendedUser
:
Long
=
0L
,
@SerialId
(
20
)
val
isSheriff
:
Int
=
0
)
:
ProtoBuf
}
}
\ No newline at end of file
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/EncryptMethod.kt
View file @
b3c4f24e
...
@@ -9,7 +9,10 @@
...
@@ -9,7 +9,10 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet
package
net.mamoe.mirai.qqandroid.network.protocol.packet
import
io.ktor.utils.io.core.*
import
kotlinx.io.core.BytePacketBuilder
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.buildPacket
import
kotlinx.io.core.writeFully
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.utils.cryptor.ECDH
import
net.mamoe.mirai.utils.cryptor.ECDH
import
net.mamoe.mirai.utils.cryptor.ECDHKeyPair
import
net.mamoe.mirai.utils.cryptor.ECDHKeyPair
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/OutgoingPacketAndroid.kt
View file @
b3c4f24e
...
@@ -10,7 +10,10 @@
...
@@ -10,7 +10,10 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet
package
net.mamoe.mirai.qqandroid.network.protocol.packet
import
io.ktor.utils.io.core.*
import
kotlinx.io.core.BytePacketBuilder
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.buildPacket
import
kotlinx.io.core.writeFully
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.qqandroid.network.QQAndroidClient
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.io.encryptAndWrite
import
net.mamoe.mirai.utils.io.encryptAndWrite
...
@@ -43,7 +46,6 @@ internal inline fun OutgoingPacketFactory<*>.buildOutgoingUniPacket(
...
@@ -43,7 +46,6 @@ internal inline fun OutgoingPacketFactory<*>.buildOutgoingUniPacket(
body
:
BytePacketBuilder
.(
sequenceId
:
Int
)
->
Unit
body
:
BytePacketBuilder
.(
sequenceId
:
Int
)
->
Unit
):
OutgoingPacket
{
):
OutgoingPacket
{
@Suppress
(
"DuplicatedCode"
)
return
OutgoingPacket
(
name
,
commandName
,
sequenceId
,
buildPacket
{
return
OutgoingPacket
(
name
,
commandName
,
sequenceId
,
buildPacket
{
writeIntLVPacket
(
lengthOffset
=
{
it
+
4
})
{
writeIntLVPacket
(
lengthOffset
=
{
it
+
4
})
{
writeInt
(
0
x0B
)
writeInt
(
0
x0B
)
...
@@ -52,7 +54,7 @@ internal inline fun OutgoingPacketFactory<*>.buildOutgoingUniPacket(
...
@@ -52,7 +54,7 @@ internal inline fun OutgoingPacketFactory<*>.buildOutgoingUniPacket(
writeByte
(
0
)
writeByte
(
0
)
client
.
uin
.
toString
().
let
{
client
.
uin
.
toString
().
let
{
writeInt
(
it
.
length
+
4
)
writeInt
(
it
.
length
+
4
)
write
Text
(
it
)
write
StringUtf8
(
it
)
}
}
encryptAndWrite
(
key
)
{
encryptAndWrite
(
key
)
{
writeUniPacket
(
commandName
,
client
.
outgoingPacketSessionId
,
extraData
)
{
writeUniPacket
(
commandName
,
client
.
outgoingPacketSessionId
,
extraData
)
{
...
@@ -75,7 +77,6 @@ internal inline fun IncomingPacketFactory<*>.buildResponseUniPacket(
...
@@ -75,7 +77,6 @@ internal inline fun IncomingPacketFactory<*>.buildResponseUniPacket(
sequenceId
:
Int
=
client
.
nextSsoSequenceId
(),
sequenceId
:
Int
=
client
.
nextSsoSequenceId
(),
body
:
BytePacketBuilder
.(
sequenceId
:
Int
)
->
Unit
body
:
BytePacketBuilder
.(
sequenceId
:
Int
)
->
Unit
):
OutgoingPacket
{
):
OutgoingPacket
{
@Suppress
(
"DuplicatedCode"
)
return
OutgoingPacket
(
name
,
commandName
,
sequenceId
,
buildPacket
{
return
OutgoingPacket
(
name
,
commandName
,
sequenceId
,
buildPacket
{
writeIntLVPacket
(
lengthOffset
=
{
it
+
4
})
{
writeIntLVPacket
(
lengthOffset
=
{
it
+
4
})
{
writeInt
(
0
x0B
)
writeInt
(
0
x0B
)
...
@@ -84,7 +85,7 @@ internal inline fun IncomingPacketFactory<*>.buildResponseUniPacket(
...
@@ -84,7 +85,7 @@ internal inline fun IncomingPacketFactory<*>.buildResponseUniPacket(
writeByte
(
0
)
writeByte
(
0
)
client
.
uin
.
toString
().
let
{
client
.
uin
.
toString
().
let
{
writeInt
(
it
.
length
+
4
)
writeInt
(
it
.
length
+
4
)
write
Text
(
it
)
write
StringUtf8
(
it
)
}
}
encryptAndWrite
(
key
)
{
encryptAndWrite
(
key
)
{
writeUniPacket
(
commandName
,
client
.
outgoingPacketSessionId
,
extraData
)
{
writeUniPacket
(
commandName
,
client
.
outgoingPacketSessionId
,
extraData
)
{
...
@@ -105,7 +106,7 @@ internal inline fun BytePacketBuilder.writeUniPacket(
...
@@ -105,7 +106,7 @@ internal inline fun BytePacketBuilder.writeUniPacket(
writeIntLVPacket
(
lengthOffset
=
{
it
+
4
})
{
writeIntLVPacket
(
lengthOffset
=
{
it
+
4
})
{
commandName
.
let
{
commandName
.
let
{
writeInt
(
it
.
length
+
4
)
writeInt
(
it
.
length
+
4
)
write
Text
(
it
)
write
StringUtf8
(
it
)
}
}
writeInt
(
4
+
4
)
writeInt
(
4
+
4
)
...
@@ -152,7 +153,7 @@ internal inline fun OutgoingPacketFactory<*>.buildLoginOutgoingPacket(
...
@@ -152,7 +153,7 @@ internal inline fun OutgoingPacketFactory<*>.buildLoginOutgoingPacket(
client
.
uin
.
toString
().
let
{
client
.
uin
.
toString
().
let
{
writeInt
(
it
.
length
+
4
)
writeInt
(
it
.
length
+
4
)
write
Text
(
it
)
write
StringUtf8
(
it
)
}
}
if
(
key
===
NO_ENCRYPT
)
{
if
(
key
===
NO_ENCRYPT
)
{
...
@@ -207,7 +208,7 @@ internal inline fun BytePacketBuilder.writeSsoPacket(
...
@@ -207,7 +208,7 @@ internal inline fun BytePacketBuilder.writeSsoPacket(
}
}
commandName
.
let
{
commandName
.
let
{
writeInt
(
it
.
length
+
4
)
writeInt
(
it
.
length
+
4
)
write
Text
(
it
)
write
StringUtf8
(
it
)
}
}
writeInt
(
4
+
4
)
writeInt
(
4
+
4
)
...
@@ -215,7 +216,7 @@ internal inline fun BytePacketBuilder.writeSsoPacket(
...
@@ -215,7 +216,7 @@ internal inline fun BytePacketBuilder.writeSsoPacket(
client
.
device
.
imei
.
let
{
client
.
device
.
imei
.
let
{
writeInt
(
it
.
length
+
4
)
writeInt
(
it
.
length
+
4
)
write
Text
(
it
)
write
StringUtf8
(
it
)
}
}
writeInt
(
4
)
writeInt
(
4
)
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/PacketFactory.kt
View file @
b3c4f24e
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet
package
net.mamoe.mirai.qqandroid.network.protocol.packet
import
io.ktor.utils
.io.core.*
import
kotlinx
.io.core.*
import
io.ktor.utils
.io.pool.useInstance
import
kotlinx
.io.pool.useInstance
import
net.mamoe.mirai.data.Packet
import
net.mamoe.mirai.data.Packet
import
net.mamoe.mirai.event.Event
import
net.mamoe.mirai.event.Event
import
net.mamoe.mirai.qqandroid.QQAndroidBot
import
net.mamoe.mirai.qqandroid.QQAndroidBot
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/Tlv.kt
View file @
b3c4f24e
...
@@ -9,7 +9,10 @@
...
@@ -9,7 +9,10 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet
package
net.mamoe.mirai.qqandroid.network.protocol.packet
import
io.ktor.utils.io.core.*
import
kotlinx.io.core.BytePacketBuilder
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.toByteArray
import
kotlinx.io.core.writeFully
import
net.mamoe.mirai.qqandroid.network.protocol.LoginType
import
net.mamoe.mirai.qqandroid.network.protocol.LoginType
import
net.mamoe.mirai.qqandroid.utils.NetworkType
import
net.mamoe.mirai.qqandroid.utils.NetworkType
import
net.mamoe.mirai.utils.currentTimeMillis
import
net.mamoe.mirai.utils.currentTimeMillis
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/PbMessageSvc.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
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.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.io.serialization.readProtoBuf
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/TroopManagement.kt
View file @
b3c4f24e
...
@@ -9,7 +9,10 @@
...
@@ -9,7 +9,10 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat
import
io.ktor.utils.io.core.*
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.buildPacket
import
kotlinx.io.core.readBytes
import
kotlinx.io.core.toByteArray
import
net.mamoe.mirai.contact.Group
import
net.mamoe.mirai.contact.Group
import
net.mamoe.mirai.contact.Member
import
net.mamoe.mirai.contact.Member
import
net.mamoe.mirai.data.Packet
import
net.mamoe.mirai.data.Packet
...
@@ -375,7 +378,7 @@ internal class TroopManagement {
...
@@ -375,7 +378,7 @@ internal class TroopManagement {
OutgoingPacketFactory
<
EditGroupNametag
.
Response
>(
"friendlist.ModifyGroupCardReq"
)
{
OutgoingPacketFactory
<
EditGroupNametag
.
Response
>(
"friendlist.ModifyGroupCardReq"
)
{
object
Response
:
Packet
object
Response
:
Packet
override
suspend
fun
ByteReadPacket
.
decode
(
bot
:
QQAndroidBot
):
Response
{
override
suspend
fun
ByteReadPacket
.
decode
(
bot
:
QQAndroidBot
):
EditGroupNametag
.
Response
{
return
Response
return
Response
}
}
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/image/ImgStore.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
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.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.io.serialization.readProtoBuf
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/image/LongConn.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.image
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
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.io.serialization.readProtoBuf
import
net.mamoe.mirai.qqandroid.io.serialization.readProtoBuf
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/chat/receive/MessageSvc.kt
View file @
b3c4f24e
...
@@ -9,9 +9,10 @@
...
@@ -9,9 +9,10 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive
package
net.mamoe.mirai.qqandroid.network.protocol.packet.chat.receive
import
io.ktor.utils.io.core.ByteReadPacket
import
kotlinx.coroutines.FlowPreview
import
kotlinx.coroutines.FlowPreview
import
kotlinx.coroutines.flow.*
import
kotlinx.coroutines.flow.*
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.discardExact
import
net.mamoe.mirai.contact.Group
import
net.mamoe.mirai.contact.Group
import
net.mamoe.mirai.contact.MemberPermission
import
net.mamoe.mirai.contact.MemberPermission
import
net.mamoe.mirai.data.MemberInfo
import
net.mamoe.mirai.data.MemberInfo
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/list/FriendList.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.list
package
net.mamoe.mirai.qqandroid.network.protocol.packet.list
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
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.io.serialization.decodeUniPacket
import
net.mamoe.mirai.qqandroid.io.serialization.decodeUniPacket
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/ConfigPushSvc.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.login
package
net.mamoe.mirai.qqandroid.network.protocol.packet.login
import
io.ktor.utils
.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.io.serialization.JceCharset
import
net.mamoe.mirai.qqandroid.io.serialization.JceCharset
import
net.mamoe.mirai.qqandroid.io.serialization.decodeUniPacket
import
net.mamoe.mirai.qqandroid.io.serialization.decodeUniPacket
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/StatSvc.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.qqandroid.network.protocol.packet.login
package
net.mamoe.mirai.qqandroid.network.protocol.packet.login
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
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.io.serialization.*
import
net.mamoe.mirai.qqandroid.io.serialization.*
...
...
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/protocol/packet/login/WtLogin.kt
View file @
b3c4f24e
...
@@ -11,7 +11,7 @@ package net.mamoe.mirai.qqandroid.network.protocol.packet.login
...
@@ -11,7 +11,7 @@ package net.mamoe.mirai.qqandroid.network.protocol.packet.login
import
io.ktor.util.InternalAPI
import
io.ktor.util.InternalAPI
import
io.ktor.utils
.io.core.*
import
kotlinx
.io.core.*
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.*
import
net.mamoe.mirai.qqandroid.network.*
...
@@ -288,7 +288,7 @@ internal class WtLogin {
...
@@ -288,7 +288,7 @@ internal class WtLogin {
}
}
class
Picture
(
class
Picture
(
val
data
:
ByteArray
,
val
data
:
IoBuffer
,
val
sign
:
ByteArray
val
sign
:
ByteArray
)
:
Captcha
()
{
)
:
Captcha
()
{
override
fun
toString
():
String
=
"LoginPacketResponse.Captcha.Picture"
override
fun
toString
():
String
=
"LoginPacketResponse.Captcha.Picture"
...
@@ -394,8 +394,11 @@ internal class WtLogin {
...
@@ -394,8 +394,11 @@ internal class WtLogin {
imageData
.
discardExact
(
2
)
//image Length
imageData
.
discardExact
(
2
)
//image Length
val
sign
=
imageData
.
readBytes
(
signInfoLength
.
toInt
())
val
sign
=
imageData
.
readBytes
(
signInfoLength
.
toInt
())
val
buffer
=
IoBuffer
.
Pool
.
borrow
()
imageData
.
readAvailable
(
buffer
)
return
LoginPacketResponse
.
Captcha
.
Picture
(
return
LoginPacketResponse
.
Captcha
.
Picture
(
data
=
imageData
.
readBytes
()
,
data
=
buffer
,
sign
=
sign
sign
=
sign
)
)
// } else error("UNKNOWN CAPTCHA QUESTION: ${question.toUHexString()}, tlvMap=" + tlvMap.contentToString())
// } else error("UNKNOWN CAPTCHA QUESTION: ${question.toUHexString()}, tlvMap=" + tlvMap.contentToString())
...
...
mirai-core-qqandroid/src/commonTest/kotlin/test/printing.kt
View file @
b3c4f24e
...
@@ -11,11 +11,11 @@
...
@@ -11,11 +11,11 @@
package
test
package
test
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
import
io.ktor.utils
.io.core.Input
import
kotlinx
.io.core.Input
import
io.ktor.utils
.io.core.readAvailable
import
kotlinx
.io.core.readAvailable
import
io.ktor.utils
.io.core.use
import
kotlinx
.io.core.use
import
io.ktor.utils
.io.pool.useInstance
import
kotlinx
.io.pool.useInstance
import
net.mamoe.mirai.utils.DefaultLogger
import
net.mamoe.mirai.utils.DefaultLogger
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiLoggerWithSwitch
import
net.mamoe.mirai.utils.MiraiLoggerWithSwitch
...
...
mirai-core-qqandroid/src/jvmTest/kotlin/net.mamoe.mirai.qqandroid.io.serialization/JceDecoderTest.kt
View file @
b3c4f24e
...
@@ -11,7 +11,7 @@ package net.mamoe.mirai.qqandroid.io.serialization
...
@@ -11,7 +11,7 @@ package net.mamoe.mirai.qqandroid.io.serialization
/*
/*
import
io.ktor.utils
.io.core.readBytes
import
kotlinx
.io.core.readBytes
import kotlinx.serialization.SerialId
import kotlinx.serialization.SerialId
import kotlinx.serialization.Serializable
import kotlinx.serialization.Serializable
import net.mamoe.mirai.qqandroid.io.JceOutput
import net.mamoe.mirai.qqandroid.io.JceOutput
...
...
mirai-core-qqandroid/src/jvmTest/kotlin/test/ProtoBufDataClassGenerator.kt
View file @
b3c4f24e
...
@@ -28,7 +28,7 @@ fun main() {
...
@@ -28,7 +28,7 @@ fun main() {
println
(
println
(
File
(
File
(
"""
"""
E:\Projects\QQAndroidFF\app\src\main\java\tencent\im\
oidb\cmd0x857
E:\Projects\QQAndroidFF\app\src\main\java\tencent\im\
msgrevoke
"""
.
trimIndent
()
"""
.
trimIndent
()
)
)
.
generateUnarrangedClasses
().
toMutableList
().
arrangeClasses
().
joinToString
(
"\n\n"
)
.
generateUnarrangedClasses
().
toMutableList
().
arrangeClasses
().
joinToString
(
"\n\n"
)
...
...
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/ExternalImageAndroid.kt
View file @
b3c4f24e
...
@@ -53,6 +53,7 @@ fun File.toExternalImage(): ExternalImage {
...
@@ -53,6 +53,7 @@ fun File.toExternalImage(): ExternalImage {
md5
=
this
.
inputStream
().
use
{
it
.
md5
()
},
md5
=
this
.
inputStream
().
use
{
it
.
md5
()
},
imageFormat
=
this
.
nameWithoutExtension
,
imageFormat
=
this
.
nameWithoutExtension
,
input
=
this
.
inputStream
(),
input
=
this
.
inputStream
(),
inputSize
=
this
.
length
(),
filename
=
this
.
name
filename
=
this
.
name
)
)
}
}
...
...
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/SystemDeviceInfo.kt
View file @
b3c4f24e
...
@@ -13,7 +13,7 @@ import android.annotation.SuppressLint
...
@@ -13,7 +13,7 @@ import android.annotation.SuppressLint
import
android.net.wifi.WifiManager
import
android.net.wifi.WifiManager
import
android.os.Build
import
android.os.Build
import
android.telephony.TelephonyManager
import
android.telephony.TelephonyManager
import
io.ktor.utils
.io.core.toByteArray
import
kotlinx
.io.core.toByteArray
import
kotlinx.serialization.Serializable
import
kotlinx.serialization.Serializable
import
kotlinx.serialization.Transient
import
kotlinx.serialization.Transient
import
kotlinx.serialization.UnstableDefault
import
kotlinx.serialization.UnstableDefault
...
...
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformDatagramChannelAndroid.kt
View file @
b3c4f24e
...
@@ -9,12 +9,12 @@
...
@@ -9,12 +9,12 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.Closeable
import
io.ktor.utils.io.nio.readPacketAtMost
import
io.ktor.utils.io.nio.writePacket
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Closeable
import
kotlinx.io.nio.readPacketAtMost
import
kotlinx.io.nio.writePacket
import
java.net.InetSocketAddress
import
java.net.InetSocketAddress
import
java.nio.channels.DatagramChannel
import
java.nio.channels.DatagramChannel
import
java.nio.channels.ReadableByteChannel
import
java.nio.channels.ReadableByteChannel
...
...
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
View file @
b3c4f24e
...
@@ -9,13 +9,13 @@
...
@@ -9,13 +9,13 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.Closeable
import
io.ktor.utils.io.core.ExperimentalIoApi
import
io.ktor.utils.io.streams.readPacketAtMost
import
io.ktor.utils.io.streams.writePacket
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Closeable
import
kotlinx.io.core.ExperimentalIoApi
import
kotlinx.io.streams.readPacketAtMost
import
kotlinx.io.streams.writePacket
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
java.io.BufferedInputStream
import
java.io.BufferedInputStream
import
java.io.BufferedOutputStream
import
java.io.BufferedOutputStream
...
...
mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/platformAndroid.kt
View file @
b3c4f24e
...
@@ -12,7 +12,7 @@ package net.mamoe.mirai.utils
...
@@ -12,7 +12,7 @@ package net.mamoe.mirai.utils
import
io.ktor.client.HttpClient
import
io.ktor.client.HttpClient
import
io.ktor.client.engine.cio.CIO
import
io.ktor.client.engine.cio.CIO
import
io.ktor.util.KtorExperimentalAPI
import
io.ktor.util.KtorExperimentalAPI
import
io.ktor.utils
.io.pool.useInstance
import
kotlinx
.io.pool.useInstance
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
java.io.ByteArrayOutputStream
import
java.io.ByteArrayOutputStream
import
java.io.DataInput
import
java.io.DataInput
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/BotAccount.kt
View file @
b3c4f24e
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
package
net.mamoe.mirai
package
net.mamoe.mirai
import
io.ktor.utils
.io.core.toByteArray
import
kotlinx
.io.core.toByteArray
import
net.mamoe.mirai.utils.MiraiExperimentalAPI
import
net.mamoe.mirai.utils.MiraiExperimentalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.md5
import
net.mamoe.mirai.utils.md5
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/data/ImageLink.kt
View file @
b3c4f24e
...
@@ -10,8 +10,8 @@
...
@@ -10,8 +10,8 @@
package
net.mamoe.mirai.data
package
net.mamoe.mirai.data
import
io.ktor.client.request.get
import
io.ktor.client.request.get
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
import
io.ktor.utils
.io.core.readBytes
import
kotlinx
.io.core.readBytes
import
net.mamoe.mirai.utils.Http
import
net.mamoe.mirai.utils.Http
interface
ImageLink
{
interface
ImageLink
{
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event/events/BotEvents.kt
View file @
b3c4f24e
...
@@ -21,7 +21,6 @@ import net.mamoe.mirai.event.events.ImageUploadEvent.Failed
...
@@ -21,7 +21,6 @@ import net.mamoe.mirai.event.events.ImageUploadEvent.Failed
import
net.mamoe.mirai.event.events.ImageUploadEvent.Succeed
import
net.mamoe.mirai.event.events.ImageUploadEvent.Succeed
import
net.mamoe.mirai.message.data.Image
import
net.mamoe.mirai.message.data.Image
import
net.mamoe.mirai.message.data.MessageChain
import
net.mamoe.mirai.message.data.MessageChain
import
net.mamoe.mirai.message.data.MessageSource
import
net.mamoe.mirai.utils.ExternalImage
import
net.mamoe.mirai.utils.ExternalImage
import
net.mamoe.mirai.utils.MiraiExperimentalAPI
import
net.mamoe.mirai.utils.MiraiExperimentalAPI
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/ExternalImage.kt
View file @
b3c4f24e
...
@@ -12,9 +12,9 @@
...
@@ -12,9 +12,9 @@
package
net.mamoe.mirai.utils
package
net.mamoe.mirai.utils
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.Input
import
kotlinx.io.InputStream
import
kotlinx.io.InputStream
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Input
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.contact.Group
import
net.mamoe.mirai.contact.Group
import
net.mamoe.mirai.contact.QQ
import
net.mamoe.mirai.contact.QQ
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/channels.kt
View file @
b3c4f24e
...
@@ -15,13 +15,10 @@ package net.mamoe.mirai.utils
...
@@ -15,13 +15,10 @@ package net.mamoe.mirai.utils
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteWriteChannel
import
io.ktor.utils.io.close
import
io.ktor.utils.io.core.Output
import
io.ktor.utils.io.core.writeFully
import
io.ktor.utils.io.pool.useInstance
import
io.ktor.utils.io.readAvailable
import
io.ktor.utils.io.readAvailable
import
kotlinx.io.OutputStream
import
kotlinx.io.OutputStream
import
kotlinx.io.core.Output
import
kotlinx.io.pool.useInstance
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
kotlin.jvm.JvmMultifileClass
import
kotlin.jvm.JvmMultifileClass
import
kotlin.jvm.JvmName
import
kotlin.jvm.JvmName
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/cryptor/TEA.kt
View file @
b3c4f24e
...
@@ -9,9 +9,8 @@
...
@@ -9,9 +9,8 @@
package
net.mamoe.mirai.utils.cryptor
package
net.mamoe.mirai.utils.cryptor
import
io.ktor.utils.io.core.ByteReadPacket
import
kotlinx.io.core.ByteReadPacket
import
io.ktor.utils.io.core.readFully
import
kotlinx.io.pool.useInstance
import
io.ktor.utils.io.pool.useInstance
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
net.mamoe.mirai.utils.io.toByteArray
import
net.mamoe.mirai.utils.io.toByteArray
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/PlatformDatagramChannel.kt
View file @
b3c4f24e
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
import
io.ktor.utils
.io.core.Closeable
import
kotlinx
.io.core.Closeable
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
/**
/**
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/PlatformSocket.kt
View file @
b3c4f24e
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
import
io.ktor.utils
.io.core.Closeable
import
kotlinx
.io.core.Closeable
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
/**
/**
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/byteArrays.kt
View file @
b3c4f24e
...
@@ -13,11 +13,11 @@
...
@@ -13,11 +13,11 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils
.io.charsets.Charset
import
kotlinx
.io.charsets.Charset
import
io.ktor.utils
.io.charsets.Charsets
import
kotlinx
.io.charsets.Charsets
import
io.ktor.utils
.io.core.ByteReadPacket
import
kotlinx
.io.core.ByteReadPacket
import
io.ktor.utils
.io.core.String
import
kotlinx
.io.core.String
import
io.ktor.utils
.io.core.use
import
kotlinx
.io.core.use
import
net.mamoe.mirai.utils.checkOffsetAndLength
import
net.mamoe.mirai.utils.checkOffsetAndLength
import
kotlin.contracts.ExperimentalContracts
import
kotlin.contracts.ExperimentalContracts
import
kotlin.contracts.InvocationKind
import
kotlin.contracts.InvocationKind
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/chunked.kt
View file @
b3c4f24e
...
@@ -10,16 +10,14 @@
...
@@ -10,16 +10,14 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.Input
import
io.ktor.utils.io.core.isNotEmpty
import
io.ktor.utils.io.core.readAvailable
import
io.ktor.utils.io.pool.useInstance
import
kotlinx.coroutines.ExperimentalCoroutinesApi
import
kotlinx.coroutines.ExperimentalCoroutinesApi
import
kotlinx.coroutines.flow.Flow
import
kotlinx.coroutines.flow.Flow
import
kotlinx.coroutines.flow.flow
import
kotlinx.coroutines.flow.flow
import
kotlinx.coroutines.flow.flowOf
import
kotlinx.coroutines.flow.flowOf
import
kotlinx.io.InputStream
import
kotlinx.io.InputStream
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Input
import
kotlinx.io.pool.useInstance
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/conversion.kt
View file @
b3c4f24e
...
@@ -11,6 +11,8 @@
...
@@ -11,6 +11,8 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
kotlinx.io.core.IoBuffer
import
kotlinx.io.pool.ObjectPool
import
kotlin.random.Random
import
kotlin.random.Random
import
kotlin.random.nextInt
import
kotlin.random.nextInt
...
@@ -200,3 +202,13 @@ fun ByteArray.toInt(): Int =
...
@@ -200,3 +202,13 @@ fun ByteArray.toInt(): Int =
(
this
[
0
].
toInt
().
and
(
255
)
shl
24
)
+
(
this
[
1
].
toInt
().
and
(
255
)
shl
16
)
+
(
this
[
2
].
toInt
().
and
(
255
)
shl
8
)
+
(
this
[
3
].
toInt
().
and
(
(
this
[
0
].
toInt
().
and
(
255
)
shl
24
)
+
(
this
[
1
].
toInt
().
and
(
255
)
shl
16
)
+
(
this
[
2
].
toInt
().
and
(
255
)
shl
8
)
+
(
this
[
3
].
toInt
().
and
(
255
255
)
shl
0
)
)
shl
0
)
/**
* 从 [IoBuffer.Pool] [borrow][ObjectPool.borrow] 一个 [IoBuffer] 然后将 [this] 写入.
* 注意回收 ([ObjectPool.recycle])
*/
fun
ByteArray
.
toIoBuffer
(
offset
:
Int
=
0
,
length
:
Int
=
this
.
size
-
offset
,
pool
:
ObjectPool
<
IoBuffer
>
=
IoBuffer
.
Pool
):
IoBuffer
=
pool
.
borrow
().
let
{
it
.
writeFully
(
this
,
offset
,
length
);
it
}
\ No newline at end of file
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/io/output.kt
View file @
b3c4f24e
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils
.io.core.*
import
kotlinx
.io.core.*
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.coerceAtMostOrFail
import
net.mamoe.mirai.utils.coerceAtMostOrFail
import
net.mamoe.mirai.utils.cryptor.TEA
import
net.mamoe.mirai.utils.cryptor.TEA
...
...
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/utils/platform.kt
View file @
b3c4f24e
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
package
net.mamoe.mirai.utils
package
net.mamoe.mirai.utils
import
io.ktor.client.HttpClient
import
io.ktor.client.HttpClient
import
io.ktor.utils
.io.core.toByteArray
import
kotlinx
.io.core.toByteArray
/**
/**
* 时间戳
* 时间戳
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/message/MessagePacket.kt
View file @
b3c4f24e
...
@@ -12,9 +12,9 @@
...
@@ -12,9 +12,9 @@
package
net.mamoe.mirai.message
package
net.mamoe.mirai.message
import
io.ktor.utils.io.ByteWriteChannel
import
io.ktor.utils.io.ByteWriteChannel
import
io.ktor.utils
.io.core.Input
import
kotlinx
.io.core.Input
import
io.ktor.utils.io.core.Output
import
io.ktor.utils.io.core.Output
import
io.ktor.utils
.io.core.use
import
kotlinx
.io.core.use
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.contact.QQ
import
net.mamoe.mirai.contact.QQ
import
net.mamoe.mirai.message.data.Image
import
net.mamoe.mirai.message.data.Image
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/message/SendImageUtilsJvm.kt
View file @
b3c4f24e
...
@@ -11,9 +11,9 @@
...
@@ -11,9 +11,9 @@
package
net.mamoe.mirai.message
package
net.mamoe.mirai.message
import
io.ktor.utils.io.core.Input
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.Input
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.contact.Contact
import
net.mamoe.mirai.message.data.Image
import
net.mamoe.mirai.message.data.Image
import
net.mamoe.mirai.message.data.OfflineImage
import
net.mamoe.mirai.message.data.OfflineImage
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/BotConfigurationJvm.kt
View file @
b3c4f24e
...
@@ -9,7 +9,6 @@
...
@@ -9,7 +9,6 @@
package
net.mamoe.mirai.utils
package
net.mamoe.mirai.utils
import
io.ktor.utils.io.core.use
import
kotlinx.coroutines.CoroutineName
import
kotlinx.coroutines.CoroutineName
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.GlobalScope
import
kotlinx.coroutines.GlobalScope
...
@@ -21,6 +20,7 @@ import kotlinx.coroutines.io.writeFully
...
@@ -21,6 +20,7 @@ import kotlinx.coroutines.io.writeFully
import
kotlinx.coroutines.sync.Mutex
import
kotlinx.coroutines.sync.Mutex
import
kotlinx.coroutines.sync.withLock
import
kotlinx.coroutines.sync.withLock
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.use
import
net.mamoe.mirai.Bot
import
net.mamoe.mirai.Bot
import
net.mamoe.mirai.network.BotNetworkHandler
import
net.mamoe.mirai.network.BotNetworkHandler
import
java.awt.Image
import
java.awt.Image
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/ExternalImageJvm.kt
View file @
b3c4f24e
...
@@ -12,13 +12,13 @@
...
@@ -12,13 +12,13 @@
package
net.mamoe.mirai.utils
package
net.mamoe.mirai.utils
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.ByteReadChannel
import
io.ktor.utils.io.core.Input
import
io.ktor.utils.io.core.buildPacket
import
io.ktor.utils.io.core.copyTo
import
io.ktor.utils.io.errors.IOException
import
io.ktor.utils.io.streams.asOutput
import
kotlinx.coroutines.Dispatchers.IO
import
kotlinx.coroutines.Dispatchers.IO
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.Input
import
kotlinx.io.core.buildPacket
import
kotlinx.io.core.copyTo
import
kotlinx.io.errors.IOException
import
kotlinx.io.streams.asOutput
import
net.mamoe.mirai.utils.io.getRandomString
import
net.mamoe.mirai.utils.io.getRandomString
import
java.awt.image.BufferedImage
import
java.awt.image.BufferedImage
import
java.io.File
import
java.io.File
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/PlatformUtilsJvm.kt
View file @
b3c4f24e
...
@@ -13,7 +13,7 @@ package net.mamoe.mirai.utils
...
@@ -13,7 +13,7 @@ package net.mamoe.mirai.utils
import
io.ktor.client.HttpClient
import
io.ktor.client.HttpClient
import
io.ktor.client.engine.cio.CIO
import
io.ktor.client.engine.cio.CIO
import
io.ktor.utils
.io.pool.useInstance
import
kotlinx
.io.pool.useInstance
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
net.mamoe.mirai.utils.io.ByteArrayPool
import
java.io.*
import
java.io.*
import
java.net.InetAddress
import
java.net.InetAddress
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/SystemDeviceInfo.kt
View file @
b3c4f24e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
package
net.mamoe.mirai.utils
package
net.mamoe.mirai.utils
import
io.ktor.utils
.io.core.toByteArray
import
kotlinx
.io.core.toByteArray
import
kotlinx.serialization.Serializable
import
kotlinx.serialization.Serializable
import
kotlinx.serialization.Transient
import
kotlinx.serialization.Transient
import
kotlinx.serialization.UnstableDefault
import
kotlinx.serialization.UnstableDefault
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
View file @
b3c4f24e
...
@@ -9,13 +9,13 @@
...
@@ -9,13 +9,13 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.Closeable
import
io.ktor.utils.io.core.ExperimentalIoApi
import
io.ktor.utils.io.streams.readPacketAtMost
import
io.ktor.utils.io.streams.writePacket
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Closeable
import
kotlinx.io.core.ExperimentalIoApi
import
kotlinx.io.streams.readPacketAtMost
import
kotlinx.io.streams.writePacket
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
net.mamoe.mirai.utils.MiraiInternalAPI
import
java.io.BufferedInputStream
import
java.io.BufferedInputStream
import
java.io.BufferedOutputStream
import
java.io.BufferedOutputStream
...
...
mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocketJvm.kt
View file @
b3c4f24e
...
@@ -9,12 +9,12 @@
...
@@ -9,12 +9,12 @@
package
net.mamoe.mirai.utils.io
package
net.mamoe.mirai.utils.io
import
io.ktor.utils.io.core.ByteReadPacket
import
io.ktor.utils.io.core.Closeable
import
io.ktor.utils.io.nio.readPacketAtMost
import
io.ktor.utils.io.nio.writePacket
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
kotlinx.coroutines.withContext
import
kotlinx.io.core.ByteReadPacket
import
kotlinx.io.core.Closeable
import
kotlinx.io.nio.readPacketAtMost
import
kotlinx.io.nio.writePacket
import
java.net.InetSocketAddress
import
java.net.InetSocketAddress
import
java.nio.channels.DatagramChannel
import
java.nio.channels.DatagramChannel
import
java.nio.channels.ReadableByteChannel
import
java.nio.channels.ReadableByteChannel
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment