final byte PADDING_IN_FLOW_STATS_HEADER_02 = 6;\r
MultipartReplyFlowBuilder flowBuilder = new MultipartReplyFlowBuilder();\r
List<FlowStats> flowStatsList = new ArrayList<>();\r
- FlowStatsBuilder flowStatsBuilder = new FlowStatsBuilder();\r
- input.skipBytes(Short.SIZE / Byte.SIZE);\r
- flowStatsBuilder.setTableId(input.readUnsignedByte());\r
- input.skipBytes(PADDING_IN_FLOW_STATS_HEADER);\r
- flowStatsBuilder.setMatchV10(OF10MatchDeserializer.createMatchV10(input));\r
- flowStatsBuilder.setDurationSec(input.readUnsignedInt());\r
- flowStatsBuilder.setDurationNsec(input.readUnsignedInt());\r
- flowStatsBuilder.setPriority(input.readUnsignedShort());\r
- flowStatsBuilder.setIdleTimeout(input.readUnsignedShort());\r
- flowStatsBuilder.setHardTimeout(input.readUnsignedShort());\r
- input.skipBytes(PADDING_IN_FLOW_STATS_HEADER_02);\r
- byte[] cookie = new byte[Long.SIZE/Byte.SIZE];\r
- input.readBytes(cookie);\r
- flowStatsBuilder.setCookie(new BigInteger(cookie));\r
- byte[] packetCount = new byte[Long.SIZE/Byte.SIZE];\r
- input.readBytes(packetCount);\r
- flowStatsBuilder.setPacketCount(new BigInteger(packetCount));\r
- byte[] byteCount = new byte[Long.SIZE/Byte.SIZE];\r
- input.readBytes(byteCount);\r
- flowStatsBuilder.setByteCount(new BigInteger(byteCount));\r
- flowStatsBuilder.setActionsList(OF10ActionsDeserializer.createActionsList(input));\r
- flowStatsList.add(flowStatsBuilder.build());\r
- flowBuilder.setFlowStats(new ArrayList<>(flowStatsList));\r
- flowStatsList.clear();\r
+ while (input.readableBytes() > 0) {\r
+ FlowStatsBuilder flowStatsBuilder = new FlowStatsBuilder();\r
+ input.skipBytes(Short.SIZE / Byte.SIZE);\r
+ flowStatsBuilder.setTableId(input.readUnsignedByte());\r
+ input.skipBytes(PADDING_IN_FLOW_STATS_HEADER);\r
+ flowStatsBuilder.setMatchV10(OF10MatchDeserializer.createMatchV10(input));\r
+ flowStatsBuilder.setDurationSec(input.readUnsignedInt());\r
+ flowStatsBuilder.setDurationNsec(input.readUnsignedInt());\r
+ flowStatsBuilder.setPriority(input.readUnsignedShort());\r
+ flowStatsBuilder.setIdleTimeout(input.readUnsignedShort());\r
+ flowStatsBuilder.setHardTimeout(input.readUnsignedShort());\r
+ input.skipBytes(PADDING_IN_FLOW_STATS_HEADER_02);\r
+ byte[] cookie = new byte[Long.SIZE/Byte.SIZE];\r
+ input.readBytes(cookie);\r
+ flowStatsBuilder.setCookie(new BigInteger(cookie));\r
+ byte[] packetCount = new byte[Long.SIZE/Byte.SIZE];\r
+ input.readBytes(packetCount);\r
+ flowStatsBuilder.setPacketCount(new BigInteger(packetCount));\r
+ byte[] byteCount = new byte[Long.SIZE/Byte.SIZE];\r
+ input.readBytes(byteCount);\r
+ flowStatsBuilder.setByteCount(new BigInteger(byteCount));\r
+ flowStatsBuilder.setActionsList(OF10ActionsDeserializer.createActionsList(input));\r
+ flowStatsList.add(flowStatsBuilder.build());\r
+ }\r
+ flowBuilder.setFlowStats(flowStatsList);\r
return flowBuilder.build();\r
}\r
\r
final byte PADDING_IN_TABLE_HEADER = 3;\r
final byte MAX_TABLE_NAME_LENGTH = 32;\r
MultipartReplyTableBuilder builder = new MultipartReplyTableBuilder();\r
- TableStatsBuilder tableStatsBuilder = new TableStatsBuilder();\r
List<TableStats> tableStatsList = new ArrayList<>();\r
- tableStatsBuilder.setTableId(input.readUnsignedByte());\r
- input.skipBytes(PADDING_IN_TABLE_HEADER);\r
- tableStatsBuilder.setName(input.readBytes(MAX_TABLE_NAME_LENGTH).toString());\r
- tableStatsBuilder.setActiveCount(input.readUnsignedInt());\r
- byte[] lookupCount = new byte[Long.SIZE/Byte.SIZE];\r
- input.readBytes(lookupCount);\r
- tableStatsBuilder.setLookupCount(new BigInteger(lookupCount));\r
- byte[] matchedCount = new byte[Long.SIZE/Byte.SIZE];\r
- input.readBytes(matchedCount);\r
- tableStatsBuilder.setMatchedCount(new BigInteger(matchedCount));\r
- tableStatsList.add(tableStatsBuilder.build());\r
- builder.setTableStats(new ArrayList<>(tableStatsList));\r
- tableStatsList.clear();\r
+ while (input.readableBytes() > 0) {\r
+ TableStatsBuilder tableStatsBuilder = new TableStatsBuilder();\r
+ tableStatsBuilder.setTableId(input.readUnsignedByte());\r
+ input.skipBytes(PADDING_IN_TABLE_HEADER);\r
+ tableStatsBuilder.setName(input.readBytes(MAX_TABLE_NAME_LENGTH).toString());\r
+ tableStatsBuilder.setActiveCount(input.readUnsignedInt());\r
+ byte[] lookupCount = new byte[Long.SIZE/Byte.SIZE];\r
+ input.readBytes(lookupCount);\r
+ tableStatsBuilder.setLookupCount(new BigInteger(lookupCount));\r
+ byte[] matchedCount = new byte[Long.SIZE/Byte.SIZE];\r
+ input.readBytes(matchedCount);\r
+ tableStatsBuilder.setMatchedCount(new BigInteger(matchedCount));\r
+ tableStatsList.add(tableStatsBuilder.build());\r
+ }\r
+ builder.setTableStats(tableStatsList);\r
return builder.build();\r
}\r
\r
private static MultipartReplyPortStats setPortStats(ByteBuf input) {\r
final byte PADDING_IN_PORT_STATS_HEADER = 6;\r
MultipartReplyPortStatsBuilder builder = new MultipartReplyPortStatsBuilder();\r
- PortStatsBuilder portStatsBuilder = new PortStatsBuilder();\r
List<PortStats> portStatsList = new ArrayList<>();\r
while (input.readableBytes() > 0) {\r
+ PortStatsBuilder portStatsBuilder = new PortStatsBuilder();\r
portStatsBuilder.setPortNo((long) input.readUnsignedShort());\r
input.skipBytes(PADDING_IN_PORT_STATS_HEADER);\r
- \r
byte[] rxPackets = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxPackets);\r
portStatsBuilder.setRxPackets(new BigInteger(rxPackets));\r
- \r
byte[] txPackets = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txPackets);\r
portStatsBuilder.setTxPackets(new BigInteger(txPackets));\r
- \r
byte[] rxBytes = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxBytes);\r
portStatsBuilder.setRxBytes(new BigInteger(rxBytes));\r
- \r
byte[] txBytes = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txBytes);\r
portStatsBuilder.setTxBytes(new BigInteger(txBytes));\r
- \r
byte[] rxDropped = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxDropped);\r
portStatsBuilder.setRxDropped(new BigInteger(rxDropped));\r
- \r
byte[] txDropped = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txDropped);\r
portStatsBuilder.setTxDropped(new BigInteger(txDropped));\r
- \r
byte[] rxErrors = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxErrors);\r
portStatsBuilder.setRxErrors(new BigInteger(rxErrors));\r
- \r
byte[] txErrors = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txErrors);\r
portStatsBuilder.setTxErrors(new BigInteger(txErrors));\r
- \r
byte[] rxFrameErr = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxFrameErr);\r
portStatsBuilder.setRxFrameErr(new BigInteger(rxFrameErr));\r
- \r
byte[] rxOverErr = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxOverErr);\r
portStatsBuilder.setRxOverErr(new BigInteger(rxOverErr));\r
- \r
byte[] rxCrcErr = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(rxCrcErr);\r
portStatsBuilder.setRxCrcErr(new BigInteger(rxCrcErr));\r
- \r
byte[] collisions = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(collisions);\r
portStatsBuilder.setCollisions(new BigInteger(collisions));\r
- \r
}\r
- builder.setPortStats(new ArrayList<>(portStatsList));\r
- portStatsList.clear();\r
+ builder.setPortStats(portStatsList);\r
return builder.build();\r
}\r
\r
private static MultipartReplyQueue setQueue(ByteBuf input) {\r
final byte PADDING_IN_QUEUE_HEADER = 2;\r
MultipartReplyQueueBuilder builder = new MultipartReplyQueueBuilder();\r
- QueueStatsBuilder queueStatsBuilder = new QueueStatsBuilder();\r
List<QueueStats> queueStatsList = new ArrayList<>();\r
- \r
while (input.readableBytes() > 0) {\r
+ QueueStatsBuilder queueStatsBuilder = new QueueStatsBuilder();\r
queueStatsBuilder.setPortNo((long) input.readUnsignedShort());\r
input.skipBytes(PADDING_IN_QUEUE_HEADER);\r
queueStatsBuilder.setQueueId(input.readUnsignedInt());\r
-\r
byte[] txBytes = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txBytes);\r
queueStatsBuilder.setTxBytes(new BigInteger(txBytes));\r
-\r
byte[] txPackets = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txPackets);\r
queueStatsBuilder.setTxPackets(new BigInteger(txPackets));\r
-\r
byte[] txErrors = new byte[Long.SIZE/Byte.SIZE];\r
input.readBytes(txErrors);\r
queueStatsBuilder.setTxErrors(new BigInteger(txErrors));\r
-\r
queueStatsList.add(queueStatsBuilder.build());\r
}\r
- builder.setQueueStats(new ArrayList<>(queueStatsList));\r
- queueStatsList.clear();\r
+ builder.setQueueStats(queueStatsList);\r
return builder.build();\r
}\r
\r