From 750fff662f0123f43ec3888bb47184567a5dcdd7 Mon Sep 17 00:00:00 2001 From: sirjonasxx <36828922+sirjonasxx@users.noreply.github.com> Date: Fri, 24 Apr 2020 21:15:39 +0200 Subject: [PATCH] why much code if less do trick --- .../protocol/packethandler/PayloadBuffer.java | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/G-Earth/src/main/java/gearth/protocol/packethandler/PayloadBuffer.java b/G-Earth/src/main/java/gearth/protocol/packethandler/PayloadBuffer.java index 3593976..55c3993 100644 --- a/G-Earth/src/main/java/gearth/protocol/packethandler/PayloadBuffer.java +++ b/G-Earth/src/main/java/gearth/protocol/packethandler/PayloadBuffer.java @@ -18,24 +18,15 @@ public class PayloadBuffer { } public HPacket[] receive() { if (buffer.length < 6) return new HPacket[0]; - HPacket total = new HPacket(buffer); - if (total.getBytesLength() - 4 == total.length()) { - buffer = new byte[0]; - return new HPacket[]{total}; - } - else if (total.getBytesLength() - 4 > total.length()) { - ArrayList all = new ArrayList<>(); - while (total.getBytesLength() >= 4 && total.getBytesLength() - 4 >= total.length()){ - all.add(new HPacket(Arrays.copyOfRange(buffer, 0, total.length() + 4))); - buffer = Arrays.copyOfRange(buffer, total.length() + 4, buffer.length); - total = new HPacket(buffer); - } - return all.toArray(new HPacket[all.size()]); - } - else { - return new HPacket[0]; + + ArrayList all = new ArrayList<>(); + while (total.getBytesLength() >= 4 && total.getBytesLength() - 4 >= total.length()){ + all.add(new HPacket(Arrays.copyOfRange(buffer, 0, total.length() + 4))); + buffer = Arrays.copyOfRange(buffer, total.length() + 4, buffer.length); + total = new HPacket(buffer); } + return all.toArray(new HPacket[all.size()]); }