diff --git a/src/network/OutboundNetworkHandler.java b/src/network/OutboundNetworkHandler.java index 97788d1d..70ca0bf2 100644 --- a/src/network/OutboundNetworkHandler.java +++ b/src/network/OutboundNetworkHandler.java @@ -91,7 +91,7 @@ public class OutboundNetworkHandler { while (it.hasNext()) { SequencedPacket sp = it.next(); if (sp.getSequence() <= sequence) - pushAssembledEncrypted(sp.getPacket()); + pushAssembledUnencrypted(sp.getPacket()); // Pre-encrypted before putting into list else break; } @@ -110,11 +110,12 @@ public class OutboundNetworkHandler { } } - private void pushAssembledEncrypted(byte [] data) { + private byte [] pushAssembledEncrypted(byte [] data) { data = Encryption.encode(data, crc); synchronized (assembleQueue) { assembleQueue.add(data); } + return data; } private void pushAssembledUnencrypted(byte [] data) { @@ -164,8 +165,8 @@ public class OutboundNetworkHandler { int lastSeq = updateSequencesMulti((short)(sendSequence+count), m); for (Fragmented f : Fragmented.encode(m.encode(), sendSequence)) { byte [] encoded = f.encode().array(); - pushSequencedPacket(f.getSequence(), encoded); - pushAssembledEncrypted(encoded); + byte [] encrypted = pushAssembledEncrypted(encoded); + pushSequencedPacket(f.getSequence(), encrypted); } sendSequence = (short) (lastSeq + 1); return count; @@ -183,16 +184,16 @@ public class OutboundNetworkHandler { int lastSeq = updateSequenceData((short)(sendSequence+count), d); for (Fragmented f : Fragmented.encode(d.encode(), sendSequence)) { byte [] encoded = f.encode().array(); - pushSequencedPacket(f.getSequence(), encoded); - pushAssembledEncrypted(encoded); + byte [] encrypted = pushAssembledEncrypted(encoded); + pushSequencedPacket(f.getSequence(), encrypted); } sendSequence = (short) lastSeq; return count; } else { d.setSequence(sendSequence++); byte [] encoded = d.encode().array(); - pushSequencedPacket(d.getSequence(), encoded); - pushAssembledEncrypted(encoded); + byte [] encrypted = pushAssembledEncrypted(encoded); + pushSequencedPacket(d.getSequence(), encrypted); return 1; } }