private Collection<Band> buildBands(List<OFMeterBandStats> bandStats) { return bandStats.stream().map(stat -> { DefaultBand band = DefaultBand.builder().build(); band.setBytes(stat.getByteBandCount().getValue()); band.setPackets(stat.getPacketBandCount().getValue()); return band; }).collect(Collectors.toSet()); }
/*** * Serializes the Meter Statistics Reply * @author Naveen * @param meterReplies * @param jGen * @throws IOException * @throws JsonProcessingException */ public static void serializeMeterReply(List<OFMeterStatsReply> meterReplies, JsonGenerator jGen) throws IOException, JsonProcessingException{ OFMeterStatsReply meterReply = meterReplies.get(0); // we will get only one meterReply and it will contains many OFMeterStatsEntry ? jGen.writeStringField("version", meterReply.getVersion().toString()); //return the enum name jGen.writeFieldName("meter"); jGen.writeStartArray(); for(OFMeterStats entry : meterReply.getEntries()) { jGen.writeStartObject(); jGen.writeNumberField("meterId",entry.getMeterId()); jGen.writeNumberField("flowCount", entry.getFlowCount()); jGen.writeNumberField("packetInCount", entry.getPacketInCount().getValue()); jGen.writeNumberField("byteInCount", entry.getByteInCount().getValue()); jGen.writeFieldName("meterBandStats"); jGen.writeStartArray(); for(OFMeterBandStats bandStats : entry.getBandStats()) { jGen.writeStartObject(); jGen.writeNumberField("packetBandCount", bandStats.getPacketBandCount().getValue()); jGen.writeNumberField("byteBandCount", bandStats.getByteBandCount().getValue()); jGen.writeEndObject(); }//End of for loop - bandStats jGen.writeEndArray(); jGen.writeNumberField("durationSec", entry.getDurationSec()); jGen.writeNumberField("durationNsec", entry.getDurationNsec()); jGen.writeEndObject(); }//End of for loop - MeterStats jGen.writeEndArray(); }
private Collection<Band> buildBands(List<OFMeterBandStats> bandStats) { return bandStats.stream().map(stat -> { DefaultBand band = ((DefaultBand.Builder) DefaultBand.builder().ofType(DefaultBand.Type.DROP)).build(); band.setBytes(stat.getByteBandCount().getValue()); band.setPackets(stat.getPacketBandCount().getValue()); return band; }).collect(Collectors.toList()); }