@Override public void serialize(FlowRemovedMessage message, ByteBuf outBuffer) { ByteBufUtils.writeOFHeader(MESSAGE_TYPE, message, outBuffer, EncodeConstants.EMPTY_LENGTH); outBuffer.writeLong(message.getCookie().longValue()); outBuffer.writeShort(message.getPriority()); outBuffer.writeByte(message.getReason().getIntValue()); outBuffer.writeByte(message.getTableId().getValue().byteValue()); outBuffer.writeInt(message.getDurationSec().intValue()); outBuffer.writeInt(message.getDurationNsec().intValue()); outBuffer.writeShort(message.getIdleTimeout()); outBuffer.writeShort(message.getHardTimeout()); outBuffer.writeLong(message.getPacketCount().longValue()); outBuffer.writeLong(message.getByteCount().longValue()); OFSerializer<Match> matchSerializer = registry .<Match, OFSerializer<Match>> getSerializer(new MessageTypeKey<>(message.getVersion(), Match.class)); matchSerializer.serialize(message.getMatch(), outBuffer); ByteBufUtils.updateOFHeaderLength(outBuffer); }
@Override public void serialize(FlowRemovedMessage message, 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.getPriority()); outBuffer.writeByte(message.getReason().getIntValue()); outBuffer.writeZero(PADDING); outBuffer.writeInt(message.getDurationSec().intValue()); outBuffer.writeInt(message.getDurationNsec().intValue()); outBuffer.writeShort(message.getIdleTimeout()); outBuffer.writeZero(PADDING); outBuffer.writeZero(PADDING); outBuffer.writeLong(message.getPacketCount().longValue()); outBuffer.writeLong(message.getByteCount().longValue()); ByteBufUtils.updateOFHeaderLength(outBuffer); }
List<DataObject> list = new CopyOnWriteArrayList<DataObject>(); LOG.debug("Flow Removed Message received: Table Id={}, Flow removed reason={} ", ofFlow.getTableId(), ofFlow.getReason()); salFlowRemoved.setByteCount(ofFlow.getByteCount()); RemovedReasonFlags removeReasonFlag = new RemovedReasonFlags( FlowRemovedReason.OFPRRDELETE.equals(ofFlow.getReason()), FlowRemovedReason.OFPRRGROUPDELETE.equals(ofFlow.getReason()), FlowRemovedReason.OFPRRHARDTIMEOUT.equals(ofFlow.getReason()), FlowRemovedReason.OFPRRIDLETIMEOUT.equals(ofFlow.getReason()) );