Commit f30eb7c0 authored by Him188's avatar Him188

Docs

parent b54f93f1
...@@ -13,7 +13,8 @@ import net.mamoe.mirai.utils.cryptor.encryptAndWrite ...@@ -13,7 +13,8 @@ import net.mamoe.mirai.utils.cryptor.encryptAndWrite
import net.mamoe.mirai.utils.io.* import net.mamoe.mirai.utils.io.*
/** /**
* 待发送给服务器的数据包. 它代表着一个 [ByteReadPacket], * 待发送给服务器的数据包. 它代表着一个 [ByteReadPacket].
* 只有最终的包才会被包装为 [OutgoingPacket].
*/ */
@UseExperimental(ExperimentalUnsignedTypes::class) @UseExperimental(ExperimentalUnsignedTypes::class)
internal class OutgoingPacket constructor( internal class OutgoingPacket constructor(
...@@ -31,7 +32,10 @@ private val KEY_16_ZEROS = ByteArray(16) ...@@ -31,7 +32,10 @@ private val KEY_16_ZEROS = ByteArray(16)
private val EMPTY_BYTE_ARRAY = ByteArray(0) private val EMPTY_BYTE_ARRAY = ByteArray(0)
/** /**
* Outermost packet for login * 最外层的包. 结构适用于登录.
*
* 在 QQ 中这个被以 JNI 实现:
* com.tencent.qphone.base.util.CodecWarpper#encodeRequest(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[], int, int, java.lang.String, byte, byte, byte, byte[], byte[], boolean)
* *
* **Packet structure** * **Packet structure**
* int remaining.length + 4 * int remaining.length + 4
......
...@@ -19,7 +19,7 @@ import kotlin.jvm.JvmName ...@@ -19,7 +19,7 @@ import kotlin.jvm.JvmName
/** /**
* 一种数据包的处理工厂. 它可以解密解码服务器发来的这个包, 也可以编码加密要发送给服务器的这个包 * 一种数据包的处理工厂. 它可以解密解码服务器发来的这个包, 也可以编码加密要发送给服务器的这个包
* 应由一个 `object` 实现, 且实现 `operator fun invoke` * 应由一个 `object` 实现, 且实现 `operator fun invoke` 或按 subCommand 或其意义命名的函数来构造 [OutgoingPacket]
* *
* @param TPacket 服务器回复包解析结果 * @param TPacket 服务器回复包解析结果
* @param TDecrypter 服务器回复包解密器 * @param TDecrypter 服务器回复包解密器
...@@ -27,6 +27,8 @@ import kotlin.jvm.JvmName ...@@ -27,6 +27,8 @@ import kotlin.jvm.JvmName
@UseExperimental(ExperimentalUnsignedTypes::class) @UseExperimental(ExperimentalUnsignedTypes::class)
internal abstract class PacketFactory<out TPacket : Packet, TDecrypter : Decrypter>(val decrypterType: DecrypterType<TDecrypter>) { internal abstract class PacketFactory<out TPacket : Packet, TDecrypter : Decrypter>(val decrypterType: DecrypterType<TDecrypter>) {
// TODO: 2020/1/12 Decrypter 多余. 需要删除
@Suppress("PropertyName") @Suppress("PropertyName")
internal var _id: PacketId = NullPacketId internal var _id: PacketId = NullPacketId
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment