\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
@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