cleanup some netty code

This commit is contained in:
Moritz Zwerger 2024-01-16 10:26:22 +01:00
parent 25f439499d
commit db198f7bf5
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -14,6 +14,7 @@
package de.bixilon.minosoft.protocol.network.network.client.netty package de.bixilon.minosoft.protocol.network.network.client.netty
import de.bixilon.kutil.cast.CastUtil.nullCast import de.bixilon.kutil.cast.CastUtil.nullCast
import de.bixilon.kutil.exception.ExceptionUtil.catchAll
import de.bixilon.kutil.observer.DataObserver.Companion.observed import de.bixilon.kutil.observer.DataObserver.Companion.observed
import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager
import de.bixilon.minosoft.protocol.address.ServerAddress import de.bixilon.minosoft.protocol.address.ServerAddress
@ -82,10 +83,8 @@ class NettyClient(
} }
override fun setupEncryption(encrypt: Cipher, decrypt: Cipher) { override fun setupEncryption(encrypt: Cipher, decrypt: Cipher) {
if (encrypted) throw IllegalStateException("Already encrypted!")
val channel = requireChannel() val channel = requireChannel()
if (encrypted) {
throw IllegalStateException("Already encrypted!")
}
channel.pipeline().addBefore(LengthEncoder.NAME, PacketEncryptor.NAME, PacketEncryptor(encrypt)) channel.pipeline().addBefore(LengthEncoder.NAME, PacketEncryptor.NAME, PacketEncryptor(encrypt))
channel.pipeline().addBefore(LengthDecoder.NAME, PacketDecryptor.NAME, PacketDecryptor(decrypt)) channel.pipeline().addBefore(LengthDecoder.NAME, PacketDecryptor.NAME, PacketDecryptor(decrypt))
encrypted = true encrypted = true
@ -133,19 +132,17 @@ class NettyClient(
override fun forceSend(packet: C2SPacket) { override fun forceSend(packet: C2SPacket) {
val channel = getChannel() ?: return val channel = getChannel() ?: return
packet.log((connection.nullCast<PlayConnection>()?.profiles?.other ?: OtherProfileManager.selected).log.reducedProtocolLog) val profile = connection.nullCast<PlayConnection>()?.profiles?.other ?: OtherProfileManager.selected
val reduced = profile.log.reducedProtocolLog
packet.log(reduced)
channel.writeAndFlush(packet) channel.writeAndFlush(packet)
} }
override fun channelRead0(context: ChannelHandlerContext?, message: Any?) { override fun channelRead0(context: ChannelHandlerContext?, message: Any?) = Unit
}
override fun channelActive(context: ChannelHandlerContext) { override fun channelActive(context: ChannelHandlerContext) {
try { catchAll { context.channel().config().setOption(ChannelOption.TCP_NODELAY, true) }
context.channel().config().setOption(ChannelOption.TCP_NODELAY, true)
} catch (_: Throwable) {
}
context.channel().config().isAutoRead = true context.channel().config().isAutoRead = true
this.channel = context.channel() this.channel = context.channel()
connected = true connected = true
@ -176,11 +173,7 @@ class NettyClient(
} }
private fun requireChannel(): Channel { private fun requireChannel(): Channel {
val channel = this.channel return getChannel() ?: throw IllegalStateException("Not connected!")
if (!connected || channel == null) {
throw IllegalStateException("Not connected!")
}
return channel
} }
private fun getChannel(): Channel? { private fun getChannel(): Channel? {