Reply with error status on receiving message with incorrect preamble

Change-Id: I0d17dc74c817546f221fbcade1d5642c8f29b0fe
diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/InternalMessage.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/InternalMessage.java
index e02ecc8..0d96c09 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/InternalMessage.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/messaging/impl/InternalMessage.java
@@ -42,24 +42,31 @@
         /**
          * Response status signifying an exception handling the message.
          */
-        ERROR_HANDLER_EXCEPTION
+        ERROR_HANDLER_EXCEPTION,
+
+        /**
+         * Reponse status signifying invalid message structure.
+         */
+        PROTOCOL_EXCEPTION
 
         // NOTE: For backwards compatibility it important that new enum constants
         // be appended.
         // FIXME: We should remove this restriction in the future.
     }
 
+    private final int preamble;
     private final long id;
     private final Endpoint sender;
     private final String type;
     private final byte[] payload;
     private final Status status;
 
-    public InternalMessage(long id, Endpoint sender, String type, byte[] payload) {
-        this(id, sender, type, payload, Status.OK);
+    public InternalMessage(int preamble, long id, Endpoint sender, String type, byte[] payload) {
+        this(preamble, id, sender, type, payload, Status.OK);
     }
 
-    public InternalMessage(long id, Endpoint sender, String type, byte[] payload, Status status) {
+    public InternalMessage(int preamble, long id, Endpoint sender, String type, byte[] payload, Status status) {
+        this.preamble = preamble;
         this.id = id;
         this.sender = sender;
         this.type = type;
@@ -67,6 +74,10 @@
         this.status = status;
     }
 
+    public int preamble() {
+        return preamble;
+    }
+
     public long id() {
         return id;
     }