Changed length of encoded message length to 4 bytes
This commit is contained in:
		| @@ -20,9 +20,8 @@ public class ObjectMessageProcessor implements IMessageProcessor { | ||||
|  | ||||
| 	@Override | ||||
| 	public void process(Message message, WriteProxy writeProxy) { | ||||
| 		try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(message.sharedArray, message.offset + 1, message.length - 1))) { | ||||
| 		try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(message.sharedArray, message.offset + 4, message.length - 4))) { | ||||
| 			Object obj = in.readObject(); | ||||
|  | ||||
| 			// TODO: Process pipeline | ||||
| 			System.out.println("Read object: " + obj.toString()); | ||||
| 		} catch (IOException | ClassNotFoundException e) { | ||||
|   | ||||
| @@ -41,18 +41,26 @@ public class ObjectMessageReader implements IMessageReader { | ||||
| 		} | ||||
|  | ||||
| 		nextMessage.writeToMessage(buffer); | ||||
| 		 | ||||
| 		int length = nextMessage.sharedArray[nextMessage.offset]; | ||||
| 		if(nextMessage.length - nextMessage.offset >= length) { | ||||
|  | ||||
| 		// Get message length | ||||
| 		if (nextMessage.length - nextMessage.offset < 4) return; | ||||
| 		int length = fromByteArray(nextMessage.sharedArray, nextMessage.offset) + 4; | ||||
|  | ||||
| 		if (nextMessage.length - nextMessage.offset >= length) { | ||||
| 			Message message = messageBuffer.getMessage(); | ||||
| 			message.writePartialMessageToMessage(nextMessage, nextMessage.offset + length); | ||||
| 			completeMessages.add(nextMessage); | ||||
| 			nextMessage = message; | ||||
| 		} | ||||
| 		 | ||||
|  | ||||
| 		buffer.clear(); | ||||
| 	} | ||||
|  | ||||
| 	private int fromByteArray(byte[] bytes, int offset) { | ||||
| 		return ((bytes[offset] & 0xFF) << 24) | ((bytes[offset + 1] & 0xFF) << 16) | ((bytes[offset + 2] & 0xFF) << 8) | ||||
| 				| ((bytes[offset + 3] & 0xFF) << 0); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public List<Message> getMessages() { return completeMessages; } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user