From: Janus Varmarken Date: Wed, 18 Jul 2018 01:53:30 +0000 (-0700) Subject: Move PcapProcessingPipeline to different package. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=pingpong.git;a=commitdiff_plain;h=b3ccf839aa077935e3ce1f0b171eb5f39e20f786;hp=6ff060b2431a7043a26d45d80016a698aee24105 Move PcapProcessingPipeline to different package. --- diff --git a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/PcapProcessingPipeline.java b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/PcapProcessingPipeline.java deleted file mode 100644 index 5b3830c..0000000 --- a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/PcapProcessingPipeline.java +++ /dev/null @@ -1,37 +0,0 @@ -package edu.uci.iotproject; - -import org.pcap4j.core.PcapPacket; - -import java.util.ArrayList; -import java.util.List; - -/** - * TODO add class documentation. - * - * @author Janus Varmarken {@literal } - * @author Rahmadi Trimananda {@literal } - */ -public class PcapProcessingPipeline { - - private final PcapReader mPcapReader; - private final List mPacketConsumers; - - public PcapProcessingPipeline(PcapReader pcapReader) { - mPcapReader = pcapReader; - mPacketConsumers = new ArrayList<>(); - } - - public void addPcapPacketConsumer(PcapPacketConsumer packetConsumer) { - mPacketConsumers.add(packetConsumer); - } - - public void executePipeline() { - PcapPacket packet; - while ((packet = mPcapReader.readNextPacket()) != null) { - for (PcapPacketConsumer consumer : mPacketConsumers) { - consumer.consumePacket(packet); - } - } - } - -} diff --git a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/analysis/PcapProcessingPipeline.java b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/analysis/PcapProcessingPipeline.java new file mode 100644 index 0000000..9746102 --- /dev/null +++ b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/analysis/PcapProcessingPipeline.java @@ -0,0 +1,49 @@ +package edu.uci.iotproject.analysis; + +import edu.uci.iotproject.PcapPacketConsumer; +import edu.uci.iotproject.PcapReader; +import org.pcap4j.core.PcapPacket; + +import java.util.ArrayList; +import java.util.List; + +/** + * TODO add class documentation. + * + * @author Janus Varmarken {@literal } + * @author Rahmadi Trimananda {@literal } + */ +public class PcapProcessingPipeline { + + private final PcapReader mPcapReader; + private final List mPacketConsumers; + private final PcapPacketFilter mPacketFilter; + + public PcapProcessingPipeline(PcapReader pcapReader, PcapPacketFilter packetFilter) { + mPcapReader = pcapReader; + mPacketConsumers = new ArrayList<>(); + mPacketFilter = packetFilter; + } + + public void addPcapPacketConsumer(PcapPacketConsumer packetConsumer) { + mPacketConsumers.add(packetConsumer); + } + + public void executePipeline() { + PcapPacket packet; + long count = 0; + while ((packet = mPcapReader.readNextPacket()) != null) { + if (mPacketFilter != null && !mPacketFilter.shouldIncludePacket(packet)) { + continue; + } + for (PcapPacketConsumer consumer : mPacketConsumers) { + consumer.consumePacket(packet); + } + count++; + if (count % 1000 == 0) { + System.out.println("Processed " + count + " packets"); + } + } + } + +}