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();