mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-08 18:02:27 +08:00
Move RECONNECT_DELAY
to AbstractKeepAliveNetworkHandlerSelector
and set it to 0 in tests
This commit is contained in:
parent
cde13062d9
commit
5efced6167
@ -102,7 +102,7 @@ internal abstract class AbstractKeepAliveNetworkHandlerSelector<H : NetworkHandl
|
||||
exceptionCollector.collectException(lastFailure)
|
||||
}
|
||||
if (attempted > 1) {
|
||||
delay(3000) // make it slower to avoid massive reconnection on network failure.
|
||||
delay(RECONNECT_DELAY) // make it slower to avoid massive reconnection on network failure.
|
||||
}
|
||||
attempted += 1
|
||||
runImpl() // will create new instance (see the `else` branch).
|
||||
@ -138,6 +138,12 @@ internal abstract class AbstractKeepAliveNetworkHandlerSelector<H : NetworkHandl
|
||||
var DEFAULT_MAX_ATTEMPTS =
|
||||
systemProp("mirai.network.handler.selector.max.attempts", Long.MAX_VALUE)
|
||||
.coerceIn(1..Int.MAX_VALUE.toLongUnsigned()).toInt()
|
||||
|
||||
/**
|
||||
* millis
|
||||
*/
|
||||
@JvmField
|
||||
var RECONNECT_DELAY = systemProp("mirai.network.reconnect.delay", 3000)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -402,12 +402,4 @@ internal open class NettyNetworkHandler(
|
||||
}
|
||||
|
||||
override fun initialState(): BaseStateImpl = StateInitialized()
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* millis
|
||||
*/
|
||||
@JvmField
|
||||
var RECONNECT_DELAY = systemProp("mirai.network.reconnect.delay", 5000)
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ import net.mamoe.mirai.internal.network.handler.NetworkHandler
|
||||
import net.mamoe.mirai.internal.network.handler.state.LoggingStateObserver
|
||||
import net.mamoe.mirai.internal.network.handler.state.SafeStateObserver
|
||||
import net.mamoe.mirai.internal.network.handler.state.StateObserver
|
||||
import net.mamoe.mirai.internal.test.AbstractTest
|
||||
import net.mamoe.mirai.internal.utils.subLogger
|
||||
import net.mamoe.mirai.utils.MiraiLogger
|
||||
import network.framework.components.TestEventDispatcherImpl
|
||||
@ -29,7 +28,7 @@ import org.junit.jupiter.api.TestInstance
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
|
||||
internal abstract class AbstractMockNetworkHandlerTest : AbstractTest() {
|
||||
internal abstract class AbstractMockNetworkHandlerTest : AbstractNetworkHandlerTest() {
|
||||
protected open fun createNetworkHandlerContext() = TestNetworkHandlerContext(bot, logger, components)
|
||||
protected open fun createNetworkHandler() = TestNetworkHandler(bot, createNetworkHandlerContext())
|
||||
|
||||
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2019-2021 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
|
||||
*/
|
||||
|
||||
package net.mamoe.mirai.internal.network.framework
|
||||
|
||||
import net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector
|
||||
import net.mamoe.mirai.internal.test.AbstractTest
|
||||
import org.junit.jupiter.api.AfterEach
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
|
||||
internal sealed class AbstractNetworkHandlerTest : AbstractTest() {
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Defaults
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@BeforeEach
|
||||
fun be() {
|
||||
AbstractKeepAliveNetworkHandlerSelector.RECONNECT_DELAY = 0
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
fun af() {
|
||||
AbstractKeepAliveNetworkHandlerSelector.RECONNECT_DELAY = 3000
|
||||
}
|
||||
}
|
@ -26,7 +26,6 @@ import net.mamoe.mirai.internal.network.handler.NetworkHandlerContextImpl
|
||||
import net.mamoe.mirai.internal.network.handler.NetworkHandlerFactory
|
||||
import net.mamoe.mirai.internal.network.protocol.data.jce.SvcRespRegister
|
||||
import net.mamoe.mirai.internal.network.protocol.packet.login.StatSvc
|
||||
import net.mamoe.mirai.internal.test.AbstractTest
|
||||
import net.mamoe.mirai.internal.utils.subLogger
|
||||
import net.mamoe.mirai.utils.MiraiLogger
|
||||
import net.mamoe.mirai.utils.debug
|
||||
@ -41,7 +40,7 @@ import kotlin.test.assertEquals
|
||||
* With real factory and components as in [QQAndroidBot.components].
|
||||
*/
|
||||
@TestInstance(TestInstance.Lifecycle.PER_METHOD)
|
||||
internal abstract class AbstractRealNetworkHandlerTest<H : NetworkHandler> : AbstractTest() {
|
||||
internal abstract class AbstractRealNetworkHandlerTest<H : NetworkHandler> : AbstractNetworkHandlerTest() {
|
||||
abstract val factory: NetworkHandlerFactory<H>
|
||||
abstract val network: NetworkHandler
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user