Changed netty message type to String from Long to avoid potential collisions
Change-Id: I42014a920917a8022744ae15a9fefa6bae6890a7
diff --git a/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java b/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java
index 1697539..edb2d52 100644
--- a/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java
+++ b/utils/netty/src/main/java/org/onlab/netty/MessageDecoder.java
@@ -27,6 +27,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.Charsets;
+
/**
* Decoder for inbound messages.
*/
@@ -40,8 +42,9 @@
private Version ipVersion;
private IpAddress senderIp;
private int senderPort;
+ private int messageTypeLength;
+ private String messageType;
private int contentLength;
- private long messageType;
public MessageDecoder(NettyMessagingService messagingService) {
super(DecoderState.READ_MESSAGE_ID);
@@ -68,9 +71,14 @@
checkpoint(DecoderState.READ_SENDER_PORT);
case READ_SENDER_PORT:
senderPort = buffer.readInt();
+ checkpoint(DecoderState.READ_MESSAGE_TYPE_LENGTH);
+ case READ_MESSAGE_TYPE_LENGTH:
+ messageTypeLength = buffer.readInt();
checkpoint(DecoderState.READ_MESSAGE_TYPE);
case READ_MESSAGE_TYPE:
- messageType = buffer.readLong();
+ byte[] messageTypeBytes = new byte[messageTypeLength];
+ buffer.readBytes(messageTypeBytes);
+ messageType = new String(messageTypeBytes, Charsets.UTF_8);
checkpoint(DecoderState.READ_CONTENT_LENGTH);
case READ_CONTENT_LENGTH:
contentLength = buffer.readInt();