@ -5,7 +5,10 @@ import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.jenkov.nioserver.*;
|
||||
import com.jenkov.nioserver.IMessageReader;
|
||||
import com.jenkov.nioserver.Message;
|
||||
import com.jenkov.nioserver.MessageBuffer;
|
||||
import com.jenkov.nioserver.Socket;
|
||||
|
||||
import envoy.util.SerializationUtils;
|
||||
|
||||
@ -47,10 +50,10 @@ public class ObjectMessageReader implements IMessageReader {
|
||||
nextMessage.writeToMessage(buffer);
|
||||
|
||||
// Get message length
|
||||
if (nextMessage.length - nextMessage.offset < 4) return;
|
||||
if (nextMessage.length < 4) return;
|
||||
int length = SerializationUtils.bytesToInt(nextMessage.sharedArray, nextMessage.offset) + 4;
|
||||
|
||||
if (nextMessage.length - nextMessage.offset >= length) {
|
||||
if (nextMessage.length >= length) {
|
||||
Message message = messageBuffer.getMessage();
|
||||
message.writePartialMessageToMessage(nextMessage, nextMessage.offset + length);
|
||||
completeMessages.add(nextMessage);
|
||||
|
Reference in New Issue
Block a user