@Override public void serialize(final FlowModInput message, final ByteBuf outBuffer) { ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH); OFSerializer<MatchV10> matchSerializer = registry.getSerializer(new MessageTypeKey<>( message.getVersion(), MatchV10.class)); matchSerializer.serialize(message.getMatchV10(), outBuffer); outBuffer.writeLong(message.getCookie().longValue()); outBuffer.writeShort(message.getCommand().getIntValue()); outBuffer.writeShort(message.getIdleTimeout().intValue()); outBuffer.writeShort(message.getHardTimeout().intValue()); outBuffer.writeShort(message.getPriority()); outBuffer.writeInt(message.getBufferId().intValue()); outBuffer.writeShort(message.getOutPort().getValue().intValue()); outBuffer.writeShort(createFlowModFlagsBitmask(message.getFlagsV10())); ListSerializer.serializeList(message.getAction(), ACTION_KEY_MAKER, registry, outBuffer); ByteBufUtils.updateOFHeaderLength(outBuffer); }