- List<FlowRemovedReason> mask = currentFlowRemovedMask.getMask();
- if (mask != null) {
- Map<Integer, Boolean> flowRemovedReasonMap = new HashMap<>();
- for (FlowRemovedReason packetInReason : mask) {
- if (FlowRemovedReason.OFPRRIDLETIMEOUT.equals(packetInReason)) {
- flowRemovedReasonMap.put(FlowRemovedReason.OFPRRIDLETIMEOUT.getIntValue(), true);
- } else if (FlowRemovedReason.OFPRRHARDTIMEOUT.equals(packetInReason)) {
- flowRemovedReasonMap.put(FlowRemovedReason.OFPRRHARDTIMEOUT.getIntValue(), true);
- } else if (FlowRemovedReason.OFPRRDELETE.equals(packetInReason)) {
- flowRemovedReasonMap.put(FlowRemovedReason.OFPRRDELETE.getIntValue(), true);
- } else if (FlowRemovedReason.OFPRRGROUPDELETE.equals(packetInReason)) {
- flowRemovedReasonMap.put(FlowRemovedReason.OFPRRGROUPDELETE.getIntValue(), true);
- }
- }
- outBuffer.writeInt(ByteBufUtils.fillBitMaskFromMap(flowRemovedReasonMap));
- }