From 32203cde4992cdadb30fd09f6497ad79a92ef03a Mon Sep 17 00:00:00 2001 From: Flare Microsystems Date: Sat, 16 Nov 2024 21:13:52 -0800 Subject: [PATCH] Fix race condition --- .../net/packet/Packet4FileData.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/com/flaremicro/crossjeeves/net/packet/Packet4FileData.java b/src/com/flaremicro/crossjeeves/net/packet/Packet4FileData.java index 9a80991..4c9bf2c 100644 --- a/src/com/flaremicro/crossjeeves/net/packet/Packet4FileData.java +++ b/src/com/flaremicro/crossjeeves/net/packet/Packet4FileData.java @@ -6,20 +6,21 @@ import java.io.IOException; import com.flaremicro.crossjeeves.net.NetworkHandler; -public class Packet4FileData extends Packet{ +public class Packet4FileData extends Packet { private long fileId; private short chunkSize; private byte[] fileChunk; - - public Packet4FileData(){ + + public Packet4FileData() { } - public Packet4FileData(long fileId, short chunkSize, byte[] fileChunk){ + public Packet4FileData(long fileId, short chunkSize, byte[] fileChunk) { this.fileId = fileId; this.chunkSize = chunkSize; - this.fileChunk = fileChunk; + this.fileChunk = new byte[chunkSize]; + System.arraycopy(fileChunk, 0, this.fileChunk, 0, chunkSize); } - + public void recievePacket(DataInputStream in) throws IOException { fileId = in.readLong(); chunkSize = in.readShort(); @@ -33,25 +34,22 @@ public class Packet4FileData extends Packet{ out.writeShort(chunkSize); out.write(fileChunk, 0, chunkSize); } - - public void processPacket(NetworkHandler networkHandler){ + + public void processPacket(NetworkHandler networkHandler) { networkHandler.handlePacket(this); } - - public long getFileId() - { + + public long getFileId() { return fileId; } - public byte[] getFileChunk() - { + public byte[] getFileChunk() { return fileChunk; } - + @Override public Packet cloneTypeOnly() { return new Packet4FileData(); } - }