@Override public void write(ByteBuf bb, OFBadInstructionErrorMsgVer11 message) { int startIndex = bb.writerIndex(); // fixed value property version = 2 bb.writeByte((byte) 0x2); // fixed value property type = 1 bb.writeByte((byte) 0x1); // length is length of variable message, will be updated at the end int lengthIndex = bb.writerIndex(); bb.writeShort(U16.t(0)); bb.writeInt(U32.t(message.xid)); // fixed value property errType = 3 bb.writeShort((short) 0x3); OFBadInstructionCodeSerializerVer11.writeTo(bb, message.code); message.data.writeTo(bb); // update length field int length = bb.writerIndex() - startIndex; bb.setShort(lengthIndex, length); }