new serialization factories and tests
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / serialization / factories / ExperimenterInputMessageFactory.java
index 351d7c0966b6c792a51da108f65a47f405fe79a3..4fe6a8e3b66473e24ede8919233a20ddffd95e0f 100644 (file)
@@ -15,7 +15,7 @@ public class ExperimenterInputMessageFactory implements OFSerializer<Experimente
 \r
     /** Code type of Experimenter message */\r
     public static final byte MESSAGE_TYPE = 4;\r
-    private static final int MESSAGE_LENGTH = 16;\r
+    private static int dataLength;\r
     private static ExperimenterInputMessageFactory instance;\r
     \r
     private ExperimenterInputMessageFactory() {\r
@@ -35,20 +35,24 @@ public class ExperimenterInputMessageFactory implements OFSerializer<Experimente
     @Override\r
     public void messageToBuffer(short version, ByteBuf out,\r
             ExperimenterInput message) {\r
-        \r
+        dataLength = message.getData().length;\r
         ByteBufUtils.writeOFHeader(instance, message, out);\r
         out.writeInt(message.getExperimenter().intValue());\r
         out.writeInt(message.getExpType().intValue());\r
+        out.writeBytes(message.getData());\r
     }\r
 \r
     @Override\r
     public int computeLength() {\r
-        return MESSAGE_LENGTH;\r
+        int ofHeaderLength = 8; //OFHeaderLength\r
+        int messageLength = 8; //experimenterHeaderLength\r
+        messageLength = messageLength + ofHeaderLength + dataLength;\r
+        return messageLength;\r
     }\r
 \r
     @Override\r
     public byte getMessageType() {\r
         return MESSAGE_TYPE;\r
     }\r
-\r
+    \r
 }\r