From bcf531a5a5eb3ae03d1cc02d72136cd33a3e06ec Mon Sep 17 00:00:00 2001 From: Harry Date: Tue, 26 Jan 2016 01:01:57 +0000 Subject: [PATCH] Don't create a new KickStringWriter for each new connection. diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/KickStringWriter.java b/protocol/src/main/java/net/md_5/bungee/protocol/KickStringWriter.java index eda9571..e5275c7 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/KickStringWriter.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/KickStringWriter.java @@ -1,9 +1,11 @@ package net.md_5.bungee.protocol; import io.netty.buffer.ByteBuf; +import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; +@Sharable public class KickStringWriter extends MessageToByteEncoder { diff --git a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java index c3833f4..aec8251 100644 --- a/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java +++ b/proxy/src/main/java/net/md_5/bungee/netty/PipelineUtils.java @@ -53,7 +53,7 @@ public class PipelineUtils ch.pipeline().addBefore( FRAME_DECODER, LEGACY_DECODER, new LegacyDecoder() ); ch.pipeline().addAfter( FRAME_DECODER, PACKET_DECODER, new MinecraftDecoder( Protocol.HANDSHAKE, true, ProxyServer.getInstance().getProtocolVersion() ) ); ch.pipeline().addAfter( FRAME_PREPENDER, PACKET_ENCODER, new MinecraftEncoder( Protocol.HANDSHAKE, true, ProxyServer.getInstance().getProtocolVersion() ) ); - ch.pipeline().addBefore( FRAME_PREPENDER, LEGACY_KICKER, new KickStringWriter() ); + ch.pipeline().addBefore( FRAME_PREPENDER, LEGACY_KICKER, PipelineUtils.KICK_STRING_WRITER ); ch.pipeline().get( HandlerBoss.class ).setHandler( new InitialHandler( BungeeCord.getInstance(), ch.attr( LISTENER ).get() ) ); } }; @@ -69,6 +69,7 @@ public class PipelineUtils public static final String FRAME_PREPENDER = "frame-prepender"; public static final String LEGACY_DECODER = "legacy-decoder"; public static final String LEGACY_KICKER = "legacy-kick"; + private static final KickStringWriter KICK_STRING_WRITER = new KickStringWriter(); private static boolean epoll; -- 2.8.3