From 44d073e7ad3e27f053c3152b42af4cc3bb9a31c4 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Thu, 5 May 2022 16:56:13 +0200 Subject: [PATCH] netty: ignore disconnect state when sending packets --- .../protocol/network/network/client/NettyClient.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/bixilon/minosoft/protocol/network/network/client/NettyClient.kt b/src/main/java/de/bixilon/minosoft/protocol/network/network/client/NettyClient.kt index 72b4157ad..a4804c28e 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/network/network/client/NettyClient.kt +++ b/src/main/java/de/bixilon/minosoft/protocol/network/network/client/NettyClient.kt @@ -150,7 +150,7 @@ class NettyClient( } fun send(packet: C2SPacket) { - val channel = requireChannel() + val channel = getChannel() ?: return if (sendingPaused) { packetQueue += packet return @@ -205,6 +205,14 @@ class NettyClient( return channel } + private fun getChannel(): Channel? { + val channel = this.channel + if (!connected || channel == null) { + return null + } + return channel + } + companion object { private val NIO_THREAD_POOL by lazy { NioEventLoopGroup(NamedThreadFactory("Nio#%d")) } private val EPOLL_THREAD_POOL by lazy { EpollEventLoopGroup(NamedThreadFactory("Epoll#%d")) }