Add fast-fail on packet loss

This commit is contained in:
Him188 2020-01-31 20:13:09 +08:00
parent c044c64b82
commit f85a6cd5a7

View File

@ -226,6 +226,10 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler
if (cache == null) {
// 没有缓存
var length: Int = rawInput.readInt() - 4
if (length < 0) {
// 丢包了. 后半部分包提前到达
return
}
if (rawInput.remaining == length.toLong()) {
// 捷径: 当包长度正好, 直接传递剩余数据.
cachedPacketTimeoutJob?.cancel()