From 322fee616b184802f0ad5e853f9287a0fc62633e Mon Sep 17 00:00:00 2001 From: creeper123123321 <7974274+creeper123123321@users.noreply.github.com> Date: Wed, 30 Oct 2019 19:38:29 -0300 Subject: [PATCH] use out bytebuf as draft in encodehandler --- .../handler/clientside/VREncodeHandler.java | 12 ++---------- .../handler/serverside/FabricEncodeHandler.java | 13 +++---------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/github/creeper123123321/viafabric/handler/clientside/VREncodeHandler.java b/src/main/java/com/github/creeper123123321/viafabric/handler/clientside/VREncodeHandler.java index 9fd94bc..11d7374 100644 --- a/src/main/java/com/github/creeper123123321/viafabric/handler/clientside/VREncodeHandler.java +++ b/src/main/java/com/github/creeper123123321/viafabric/handler/clientside/VREncodeHandler.java @@ -42,16 +42,8 @@ public class VREncodeHandler extends MessageToByteEncoder { @Override protected void encode(ChannelHandlerContext ctx, Object msg, ByteBuf out) throws Exception { - // Based on Sponge ViaVersion decoder code - if (!(msg instanceof ByteBuf)) throw new EncoderException("Received msg isn't ByteBuf"); - - ByteBuf draft = ctx.alloc().buffer().writeBytes((ByteBuf) msg); - try { - CommonTransformer.transformServerbound(draft, user); - out.writeBytes(draft); - } finally { - draft.release(); - } + out.writeBytes((ByteBuf) msg); + CommonTransformer.transformServerbound(out, user); } @Override diff --git a/src/main/java/com/github/creeper123123321/viafabric/handler/serverside/FabricEncodeHandler.java b/src/main/java/com/github/creeper123123321/viafabric/handler/serverside/FabricEncodeHandler.java index 936bad1..0ad3de2 100644 --- a/src/main/java/com/github/creeper123123321/viafabric/handler/serverside/FabricEncodeHandler.java +++ b/src/main/java/com/github/creeper123123321/viafabric/handler/serverside/FabricEncodeHandler.java @@ -42,15 +42,8 @@ public class FabricEncodeHandler extends MessageToByteEncoder { @Override protected void encode(final ChannelHandlerContext ctx, Object in, final ByteBuf out) throws Exception { - if (!(in instanceof ByteBuf)) throw new EncoderException("Received object isn't ByteBuf"); - - ByteBuf draft = ctx.alloc().buffer().writeBytes((ByteBuf) in); - try { - CommonTransformer.transformClientbound(draft, user); - out.writeBytes(draft); - } finally { - draft.release(); - } + out.writeBytes((ByteBuf) in); + CommonTransformer.transformClientbound(out, user); } @Override @@ -58,4 +51,4 @@ public class FabricEncodeHandler extends MessageToByteEncoder { if (PipelineUtil.containsCause(cause, CancelException.class)) return; super.exceptionCaught(ctx, cause); } -} \ No newline at end of file +}