From 605dd000a63d447da7d4075fb1f9c25287ff8c82 Mon Sep 17 00:00:00 2001 From: Mike <76-Mike@users.noreply.git.krews.org> Date: Sun, 3 May 2020 02:08:12 +0200 Subject: [PATCH] Fix MessageComposer race condition caused by #133. --- .../habbo/habbohotel/gameclients/GameClient.java | 2 +- .../habbo/networking/gameserver/GameServer.java | 3 --- .../encoders/MessageComposerEncoder.java | 16 ---------------- 3 files changed, 1 insertion(+), 20 deletions(-) delete mode 100644 src/main/java/com/eu/habbo/networking/gameserver/encoders/MessageComposerEncoder.java diff --git a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java index 956620b6..11b43f49 100644 --- a/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java +++ b/src/main/java/com/eu/habbo/habbohotel/gameclients/GameClient.java @@ -89,7 +89,7 @@ public class GameClient { public void sendResponse(MessageComposer composer) { if (this.channel.isOpen()) { try { - this.channel.write(composer, this.channel.voidPromise()); + this.channel.write(composer.compose(), this.channel.voidPromise()); this.channel.flush(); } catch (Exception e) { Emulator.getLogging().logPacketError(e); diff --git a/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java b/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java index 1b1a338e..933eb65a 100644 --- a/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java +++ b/src/main/java/com/eu/habbo/networking/gameserver/GameServer.java @@ -5,7 +5,6 @@ import com.eu.habbo.habbohotel.gameclients.GameClientManager; import com.eu.habbo.messages.PacketManager; import com.eu.habbo.networking.Server; import com.eu.habbo.networking.gameserver.decoders.*; -import com.eu.habbo.networking.gameserver.encoders.MessageComposerEncoder; import com.eu.habbo.networking.gameserver.encoders.ServerMessageEncoder; import com.eu.habbo.networking.gameserver.encoders.GameServerMessageLogger; import io.netty.channel.ChannelInitializer; @@ -46,8 +45,6 @@ public class GameServer extends Server { if (PacketManager.DEBUG_SHOW_PACKETS) { ch.pipeline().addLast(new GameServerMessageLogger()); } - - ch.pipeline().addLast(new MessageComposerEncoder()); } }); } diff --git a/src/main/java/com/eu/habbo/networking/gameserver/encoders/MessageComposerEncoder.java b/src/main/java/com/eu/habbo/networking/gameserver/encoders/MessageComposerEncoder.java deleted file mode 100644 index a1a98cb7..00000000 --- a/src/main/java/com/eu/habbo/networking/gameserver/encoders/MessageComposerEncoder.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.eu.habbo.networking.gameserver.encoders; - -import com.eu.habbo.messages.outgoing.MessageComposer; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.MessageToMessageEncoder; - -import java.util.List; - -public class MessageComposerEncoder extends MessageToMessageEncoder { - - @Override - protected void encode(ChannelHandlerContext ctx, MessageComposer message, List out) throws Exception { - out.add(message.compose()); - } - -}