Adding Javadoc documentation.
authorrtrimana <rtrimana@uci.edu>
Thu, 28 Mar 2019 18:29:05 +0000 (11:29 -0700)
committerrtrimana <rtrimana@uci.edu>
Thu, 28 Mar 2019 18:29:05 +0000 (11:29 -0700)
117 files changed:
Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/SanitySignatureGenerator.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/LiveCapture.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PcapHandleReader.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PrintWriterUtils.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/TriggerTimesFileReader.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPattern.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/SequenceAlignmentTest.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PcapPacketUtils.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PrintUtils.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/help-doc.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-1.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-10.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-11.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-12.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-13.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-14.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-15.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-16.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-17.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-18.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-19.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-2.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-20.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-3.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-4.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-5.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-6.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-7.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-8.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-9.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/index.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-tree.html [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/package-list [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js [new file with mode: 0644]
Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css [new file with mode: 0644]

diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html
new file mode 100644 (file)
index 0000000..0ceb4d1
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:27:00 PDT 2019 -->
+<title>All Classes</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection" target="classFrame">AbstractClusterMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection" target="classFrame">AbstractSignatureDetector</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">AlignmentPricer</a></li>
+<li><a href="edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection" target="classFrame"><span class="interfaceName">ClusterMatcherObserver</span></a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">Conversation</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">Conversation.Direction</a></li>
+<li><a href="edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation" target="classFrame">DetectionResultsAnalyzer</a></li>
+<li><a href="edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject" target="classFrame">DnsMap</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">ExtractedSequence</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">FinAckPair</a></li>
+<li><a href="edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject" target="classFrame">FlowPattern</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2AbstractMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2ClusterMatcher</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame">Layer2Flow</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame"><span class="interfaceName">Layer2FlowObserver</span></a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame">Layer2FlowReassembler</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame"><span class="interfaceName">Layer2FlowReassemblerObserver</span></a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2RangeMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2SequenceMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2SignatureDetector</a></li>
+<li><a href="edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3" target="classFrame">Layer3ClusterMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3" target="classFrame">Layer3SignatureDetector</a></li>
+<li><a href="edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io" target="classFrame">LiveCapture</a></li>
+<li><a href="edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer" target="classFrame">MacLayerFlowPattern</a></li>
+<li><a href="edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer" target="classFrame">MacLayerFlowPatternFinder</a></li>
+<li><a href="edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io" target="classFrame">PcapHandleReader</a></li>
+<li><a href="edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis" target="classFrame"><span class="interfaceName">PcapPacketFilter</span></a></li>
+<li><a href="edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis" target="classFrame">PcapPacketPair</a></li>
+<li><a href="edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util" target="classFrame">PcapPacketUtils</a></li>
+<li><a href="edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util" target="classFrame">PrintUtils</a></li>
+<li><a href="edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io" target="classFrame">PrintWriterUtils</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">SampleIntegerAlignmentPricer</a></li>
+<li><a href="edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation" target="classFrame">SanitySignatureGenerator</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">SequenceAlignment</a></li>
+<li><a href="edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test" target="classFrame">SequenceAlignmentTest</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">SequenceExtraction</a></li>
+<li><a href="edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection" target="classFrame"><span class="interfaceName">SignatureDetectorObserver</span></a></li>
+<li><a href="edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject" target="classFrame">SignatureGenerator</a></li>
+<li><a href="edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis" target="classFrame">TcpConversationUtils</a></li>
+<li><a href="edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis" target="classFrame">TcpConversationUtils.SignaturePosition</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">TcpReassembler</a></li>
+<li><a href="edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis" target="classFrame">TrafficLabeler</a></li>
+<li><a href="edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io" target="classFrame">TriggerTimesFileReader</a></li>
+<li><a href="edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis" target="classFrame">TriggerTrafficExtractor</a></li>
+<li><a href="edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis" target="classFrame">UserAction</a></li>
+<li><a href="edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis" target="classFrame">UserAction.Type</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html
new file mode 100644 (file)
index 0000000..bfbd66e
--- /dev/null
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:27:00 PDT 2019 -->
+<title>All Classes</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection">AbstractSignatureDetector</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a></li>
+<li><a href="edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="interfaceName">ClusterMatcherObserver</span></a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></li>
+<li><a href="edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation">DetectionResultsAnalyzer</a></li>
+<li><a href="edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></li>
+<li><a href="edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="interfaceName">Layer2FlowObserver</span></a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="interfaceName">Layer2FlowReassemblerObserver</span></a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></li>
+<li><a href="edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></li>
+<li><a href="edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></li>
+<li><a href="edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io">LiveCapture</a></li>
+<li><a href="edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></li>
+<li><a href="edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPatternFinder</a></li>
+<li><a href="edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></li>
+<li><a href="edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><span class="interfaceName">PcapPacketFilter</span></a></li>
+<li><a href="edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></li>
+<li><a href="edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></li>
+<li><a href="edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></li>
+<li><a href="edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io">PrintWriterUtils</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">SampleIntegerAlignmentPricer</a></li>
+<li><a href="edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation">SanitySignatureGenerator</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a></li>
+<li><a href="edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></li>
+<li><a href="edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection"><span class="interfaceName">SignatureDetectorObserver</span></a></li>
+<li><a href="edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject">SignatureGenerator</a></li>
+<li><a href="edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></li>
+<li><a href="edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">TcpReassembler</a></li>
+<li><a href="edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></li>
+<li><a href="edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></li>
+<li><a href="edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></li>
+<li><a href="edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></li>
+<li><a href="edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html
new file mode 100644 (file)
index 0000000..d9ba635
--- /dev/null
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:27:00 PDT 2019 -->
+<title>Constant Field Values</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Constant Field Values";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#edu.uci">edu.uci.*</a></li>
+</ul>
+</div>
+<div class="constantValuesContainer"><a name="edu.uci">
+<!--   -->
+</a>
+<h2 title="edu.uci">edu.uci.*</h2>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>edu.uci.iotproject.analysis.<a href="edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="edu.uci.iotproject.analysis.TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#INCLUSION_WINDOW_MILLIS">INCLUSION_WINDOW_MILLIS</a></code></td>
+<td class="colLast"><code>15000</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html
new file mode 100644 (file)
index 0000000..1cb228b
--- /dev/null
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:27:00 PDT 2019 -->
+<title>Deprecated List</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Deprecated List";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li class="navBarCell1Rev">Deprecated</li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Deprecated API" class="title">Deprecated API</h1>
+<h2 title="Contents">Contents</h2>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li class="navBarCell1Rev">Deprecated</li>
+<li><a href="index-files/index-1.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html
new file mode 100644 (file)
index 0000000..450f823
--- /dev/null
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>DnsMap</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DnsMap";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/DnsMap.html" target="_top">Frames</a></li>
+<li><a href="DnsMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject</div>
+<h2 title="Class DnsMap" class="title">Class DnsMap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.DnsMap</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.pcap4j.core.PacketListener</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DnsMap</span>
+extends java.lang.Object
+implements org.pcap4j.core.PacketListener</pre>
+<div class="block">This is a class that does DNS mapping.
+ Basically an IP address is mapped to its
+ respective DNS hostnames.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/DnsMap.html#DnsMap--">DnsMap</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/DnsMap.html#getHostnamesForIp-java.lang.String-">getHostnamesForIp</a></span>(java.lang.String&nbsp;ip)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/DnsMap.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/DnsMap.html#isRelatedToCloudServer-java.lang.String-java.lang.String-">isRelatedToCloudServer</a></span>(java.lang.String&nbsp;address,
+                      java.lang.String&nbsp;hostname)</code>
+<div class="block">Checks DNS packet and build the map data structure that
+ maps IP addresses to DNS hostnames</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/DnsMap.html#validateAndAddNewEntry-org.pcap4j.core.PcapPacket-">validateAndAddNewEntry</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Checks DNS packet and build the map data structure that
+ maps IP addresses to DNS hostnames</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DnsMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DnsMap</h4>
+<pre>public&nbsp;DnsMap()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="gotPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>gotPacket</h4>
+<pre>public&nbsp;void&nbsp;gotPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>gotPacket</code>&nbsp;in interface&nbsp;<code>org.pcap4j.core.PacketListener</code></dd>
+</dl>
+</li>
+</ul>
+<a name="validateAndAddNewEntry-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>validateAndAddNewEntry</h4>
+<pre>public&nbsp;void&nbsp;validateAndAddNewEntry(org.pcap4j.core.PcapPacket&nbsp;packet)
+                            throws java.net.UnknownHostException</pre>
+<div class="block">Checks DNS packet and build the map data structure that
+ maps IP addresses to DNS hostnames</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - PcapPacket object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.net.UnknownHostException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="isRelatedToCloudServer-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRelatedToCloudServer</h4>
+<pre>public&nbsp;boolean&nbsp;isRelatedToCloudServer(java.lang.String&nbsp;address,
+                                      java.lang.String&nbsp;hostname)</pre>
+<div class="block">Checks DNS packet and build the map data structure that
+ maps IP addresses to DNS hostnames</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>address</code> - Address to check</dd>
+<dd><code>hostname</code> - Hostname to check</dd>
+</dl>
+</li>
+</ul>
+<a name="getHostnamesForIp-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getHostnamesForIp</h4>
+<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getHostnamesForIp(java.lang.String&nbsp;ip)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/DnsMap.html" target="_top">Frames</a></li>
+<li><a href="DnsMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html
new file mode 100644 (file)
index 0000000..807e969
--- /dev/null
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>FlowPattern</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FlowPattern";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/FlowPattern.html" target="_top">Frames</a></li>
+<li><a href="FlowPattern.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject</div>
+<h2 title="Class FlowPattern" class="title">Class FlowPattern</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.FlowPattern</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FlowPattern</span>
+extends java.lang.Object</pre>
+<div class="block">TODO add class documentation.
+ TODO: At this point, this class is still in transition to having multiple hostnames and lists of packets</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#FlowPattern-java.lang.String-java.util.List-org.pcap4j.core.PcapHandle-">FlowPattern</a></span>(java.lang.String&nbsp;mPatternId,
+           java.util.List&lt;java.lang.String&gt;&nbsp;mHostnameList,
+           org.pcap4j.core.PcapHandle&nbsp;mPcap)</code>
+<div class="block">Constructor #2</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#FlowPattern-java.lang.String-java.lang.String-org.pcap4j.core.PcapHandle-">FlowPattern</a></span>(java.lang.String&nbsp;mPatternId,
+           java.lang.String&nbsp;hostname,
+           org.pcap4j.core.PcapHandle&nbsp;mPcap)</code>
+<div class="block">Constructor #1</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getHostname--">getHostname</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>java.util.List&lt;java.lang.String&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getHostnameList--">getHostnameList</a></span>()</code>
+<div class="block">Get the list of associated hostnames.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getLength--">getLength</a></span>()</code>
+<div class="block">Get the length of the List of <code>FlowPattern</code>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getLength-java.lang.String-">getLength</a></span>(java.lang.String&nbsp;hostname)</code>
+<div class="block">Get the length of the List of <code>FlowPattern</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getPacketOrder--">getPacketOrder</a></span>()</code>
+<div class="block">Get the sequence of packet lengths that defines this <code>FlowPattern</code>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getPacketOrder-java.lang.String-">getPacketOrder</a></span>(java.lang.String&nbsp;hostname)</code>
+<div class="block">Get the sequence of packet lengths based on input hostname.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/FlowPattern.html#getPatternId--">getPatternId</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FlowPattern-java.lang.String-java.lang.String-org.pcap4j.core.PcapHandle-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FlowPattern</h4>
+<pre>public&nbsp;FlowPattern(java.lang.String&nbsp;mPatternId,
+                   java.lang.String&nbsp;hostname,
+                   org.pcap4j.core.PcapHandle&nbsp;mPcap)</pre>
+<div class="block">Constructor #1</div>
+</li>
+</ul>
+<a name="FlowPattern-java.lang.String-java.util.List-org.pcap4j.core.PcapHandle-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FlowPattern</h4>
+<pre>public&nbsp;FlowPattern(java.lang.String&nbsp;mPatternId,
+                   java.util.List&lt;java.lang.String&gt;&nbsp;mHostnameList,
+                   org.pcap4j.core.PcapHandle&nbsp;mPcap)</pre>
+<div class="block">Constructor #2</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getPatternId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPatternId</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getPatternId()</pre>
+</li>
+</ul>
+<a name="getHostname--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHostname</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getHostname()</pre>
+</li>
+</ul>
+<a name="getPacketOrder--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketOrder</h4>
+<pre>public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;getPacketOrder()</pre>
+<div class="block">Get the sequence of packet lengths that defines this <code>FlowPattern</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the sequence of packet lengths that defines this <code>FlowPattern</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPacketOrder-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketOrder</h4>
+<pre>public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;getPacketOrder(java.lang.String&nbsp;hostname)</pre>
+<div class="block">Get the sequence of packet lengths based on input hostname.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the sequence of packet lengths that defines this <code>FlowPattern</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getHostnameList--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHostnameList</h4>
+<pre>public&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;getHostnameList()</pre>
+<div class="block">Get the list of associated hostnames.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the associated hostnames that define this <code>FlowPattern</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLength--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLength</h4>
+<pre>public&nbsp;int&nbsp;getLength()</pre>
+<div class="block">Get the length of the List of <code>FlowPattern</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the length of the List of <code>FlowPattern</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLength-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLength</h4>
+<pre>public&nbsp;int&nbsp;getLength(java.lang.String&nbsp;hostname)</pre>
+<div class="block">Get the length of the List of <code>FlowPattern</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the length of the List of <code>FlowPattern</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/FlowPattern.html" target="_top">Frames</a></li>
+<li><a href="FlowPattern.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html
new file mode 100644 (file)
index 0000000..e0eae1f
--- /dev/null
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>SignatureGenerator</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SignatureGenerator";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/SignatureGenerator.html" target="_top">Frames</a></li>
+<li><a href="SignatureGenerator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject</div>
+<h2 title="Class SignatureGenerator" class="title">Class SignatureGenerator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.SignatureGenerator</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SignatureGenerator</span>
+extends java.lang.Object</pre>
+<div class="block">This is a system that reads PCAP files to compare
+ patterns of DNS hostnames, packet sequences, and packet
+ lengths with training data to determine certain events
+ or actions for smart home devices.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/SignatureGenerator.html#SignatureGenerator--">SignatureGenerator</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../edu/uci/iotproject/SignatureGenerator.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SignatureGenerator--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SignatureGenerator</h4>
+<pre>public&nbsp;SignatureGenerator()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="main-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>main</h4>
+<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
+                 throws org.pcap4j.core.PcapNativeException,
+                        org.pcap4j.core.NotOpenException,
+                        java.io.EOFException,
+                        java.util.concurrent.TimeoutException,
+                        java.net.UnknownHostException,
+                        java.io.IOException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.pcap4j.core.PcapNativeException</code></dd>
+<dd><code>org.pcap4j.core.NotOpenException</code></dd>
+<dd><code>java.io.EOFException</code></dd>
+<dd><code>java.util.concurrent.TimeoutException</code></dd>
+<dd><code>java.net.UnknownHostException</code></dd>
+<dd><code>java.io.IOException</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/SignatureGenerator.html" target="_top">Frames</a></li>
+<li><a href="SignatureGenerator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html
new file mode 100644 (file)
index 0000000..6ee2c68
--- /dev/null
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>PcapPacketFilter</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PcapPacketFilter";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/PcapPacketFilter.html" target="_top">Frames</a></li>
+<li><a href="PcapPacketFilter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Interface PcapPacketFilter" class="title">Interface PcapPacketFilter</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">PcapPacketFilter</span></pre>
+<div class="block">TODO add class documentation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html#shouldIncludePacket-org.pcap4j.core.PcapPacket-">shouldIncludePacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="shouldIncludePacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shouldIncludePacket</h4>
+<pre>boolean&nbsp;shouldIncludePacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/PcapPacketFilter.html" target="_top">Frames</a></li>
+<li><a href="PcapPacketFilter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html
new file mode 100644 (file)
index 0000000..e442318
--- /dev/null
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>PcapPacketPair</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PcapPacketPair";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/PcapPacketPair.html" target="_top">Frames</a></li>
+<li><a href="PcapPacketPair.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Class PcapPacketPair" class="title">Class PcapPacketPair</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.PcapPacketPair</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.commons.math3.stat.clustering.Clusterable&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PcapPacketPair</span>
+extends java.lang.Object
+implements org.apache.commons.math3.stat.clustering.Clusterable&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;</pre>
+<div class="block"><p>
+     A simple wrapper for holding a pair of packets (e.g., a request and associated reply packet).
+ </p>
+
+ <b>Note:</b> we use the deprecated version</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#PcapPacketPair-org.pcap4j.core.PcapPacket-org.pcap4j.core.PcapPacket-">PcapPacketPair</a></span>(org.pcap4j.core.PcapPacket&nbsp;first,
+              org.pcap4j.core.PcapPacket&nbsp;second)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#centroidOf-java.util.Collection-">centroidOf</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;p)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#distanceFrom-edu.uci.iotproject.analysis.PcapPacketPair-">distanceFrom</a></span>(<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;that)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#getDnsMap--">getDnsMap</a></span>()</code>
+<div class="block">Get the <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a> that is queried for hostnames mappings when performing IP/hostname-sensitive clustering.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>org.pcap4j.core.PcapPacket</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#getFirst--">getFirst</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.util.Optional&lt;org.pcap4j.core.PcapPacket&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#getSecond--">getSecond</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#isFirstClient--">isFirstClient</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#isSecondClient--">isSecondClient</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#setDnsMap-edu.uci.iotproject.DnsMap-">setDnsMap</a></span>(<a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;dnsMap)</code>
+<div class="block">Set the <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a> to be queried for hostnames mappings when performing IP/hostname-sensitive clustering.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PcapPacketPair-org.pcap4j.core.PcapPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PcapPacketPair</h4>
+<pre>public&nbsp;PcapPacketPair(org.pcap4j.core.PcapPacket&nbsp;first,
+                      org.pcap4j.core.PcapPacket&nbsp;second)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFirst--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFirst</h4>
+<pre>public&nbsp;org.pcap4j.core.PcapPacket&nbsp;getFirst()</pre>
+</li>
+</ul>
+<a name="isFirstClient--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isFirstClient</h4>
+<pre>public&nbsp;boolean&nbsp;isFirstClient()</pre>
+</li>
+</ul>
+<a name="getSecond--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSecond</h4>
+<pre>public&nbsp;java.util.Optional&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getSecond()</pre>
+</li>
+</ul>
+<a name="isSecondClient--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSecondClient</h4>
+<pre>public&nbsp;boolean&nbsp;isSecondClient()</pre>
+</li>
+</ul>
+<a name="getDnsMap--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDnsMap</h4>
+<pre>public&nbsp;<a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;getDnsMap()</pre>
+<div class="block">Get the <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a> that is queried for hostnames mappings when performing IP/hostname-sensitive clustering.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a> that is queried for hostnames mappings when performing IP/hostname-sensitive clustering.</dd>
+</dl>
+</li>
+</ul>
+<a name="setDnsMap-edu.uci.iotproject.DnsMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDnsMap</h4>
+<pre>public&nbsp;void&nbsp;setDnsMap(<a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;dnsMap)</pre>
+<div class="block">Set the <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a> to be queried for hostnames mappings when performing IP/hostname-sensitive clustering.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dnsMap</code> - a <code>DnsMap</code> to be queried for hostnames mappings when performing IP/hostname-sensitive clustering.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="distanceFrom-edu.uci.iotproject.analysis.PcapPacketPair-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>distanceFrom</h4>
+<pre>public&nbsp;double&nbsp;distanceFrom(<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;that)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>distanceFrom</code>&nbsp;in interface&nbsp;<code>org.apache.commons.math3.stat.clustering.Clusterable&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="centroidOf-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>centroidOf</h4>
+<pre>public&nbsp;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;centroidOf(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;p)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>centroidOf</code>&nbsp;in interface&nbsp;<code>org.apache.commons.math3.stat.clustering.Clusterable&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/PcapPacketPair.html" target="_top">Frames</a></li>
+<li><a href="PcapPacketPair.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html
new file mode 100644 (file)
index 0000000..f13fdb3
--- /dev/null
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>TcpConversationUtils.SignaturePosition</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TcpConversationUtils.SignaturePosition";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" target="_top">Frames</a></li>
+<li><a href="TcpConversationUtils.SignaturePosition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Enum TcpConversationUtils.SignaturePosition" class="title">Enum TcpConversationUtils.SignaturePosition</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>java.lang.Enum&lt;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.TcpConversationUtils.SignaturePosition</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">TcpConversationUtils.SignaturePosition</span>
+extends java.lang.Enum&lt;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>&gt;</pre>
+<div class="block">Identifies the adjacency type of the signature for merging.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#LEFT_ADJACENT">LEFT_ADJACENT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#NOT_ADJACENT">NOT_ADJACENT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#RIGHT_ADJACENT">RIGHT_ADJACENT</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
+<code>compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="NOT_ADJACENT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>NOT_ADJACENT</h4>
+<pre>public static final&nbsp;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a> NOT_ADJACENT</pre>
+</li>
+</ul>
+<a name="LEFT_ADJACENT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>LEFT_ADJACENT</h4>
+<pre>public static final&nbsp;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a> LEFT_ADJACENT</pre>
+</li>
+</ul>
+<a name="RIGHT_ADJACENT">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RIGHT_ADJACENT</h4>
+<pre>public static final&nbsp;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a> RIGHT_ADJACENT</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (TcpConversationUtils.SignaturePosition c : TcpConversationUtils.SignaturePosition.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
+<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" target="_top">Frames</a></li>
+<li><a href="TcpConversationUtils.SignaturePosition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html
new file mode 100644 (file)
index 0000000..02502e4
--- /dev/null
@@ -0,0 +1,662 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>TcpConversationUtils</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TcpConversationUtils";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TcpConversationUtils.html" target="_top">Frames</a></li>
+<li><a href="TcpConversationUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Class TcpConversationUtils" class="title">Class TcpConversationUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.TcpConversationUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TcpConversationUtils</span>
+extends java.lang.Object</pre>
+<div class="block">Utility functions for analyzing and structuring (sets of) <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></span></code>
+<div class="block">Identifies the adjacency type of the signature for merging.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#TcpConversationUtils--">TcpConversationUtils</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.Integer,java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-java.util.Collection-">countPacketLengthFrequencies</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</code>
+<div class="block">Like <a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-edu.uci.iotproject.trafficreassembly.layer3.Conversation-"><code>countPacketLengthFrequencies(Conversation)</code></a>, but counts packet length frequencies for a collection
+ of <code>Conversation</code>s, i.e., the frequency of a packet length becomes the total number of packets with that
+ length across <em>all</em> <code>Conversation</code>s in <code>conversations</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.Integer,java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">countPacketLengthFrequencies</a></span>(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;c)</code>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, counts the frequencies of each unique packet length seen as part of the
+ <code>Conversation</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketPairFrequencies-java.util.Collection-">countPacketPairFrequencies</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;pairs)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketPairFrequenciesByHostname-java.util.Collection-edu.uci.iotproject.DnsMap-">countPacketPairFrequenciesByHostname</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;tcpConversations,
+                                    <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketSequenceFrequencies-java.util.Collection-">countPacketSequenceFrequencies</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#extractPacketPairs-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">extractPacketPairs</a></span>(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;conv)</code>
+<div class="block">
+      Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its set of "packet pairs", i.e., pairs of request-reply packets.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#extractTlsAppDataPacketPairs-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">extractTlsAppDataPacketPairs</a></span>(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;conv)</code>
+<div class="block">
+      Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its set of "packet pairs", i.e., pairs of request-reply packets.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static java.lang.Integer[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#getPacketLengthSequence-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">getPacketLengthSequence</a></span>(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;c)</code>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its packet length sequence.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static java.lang.Integer[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#getPacketLengthSequenceTlsAppDataOnly-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">getPacketLengthSequenceTlsAppDataOnly</a></span>(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;c)</code>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its packet length sequence, but only include packet lengths of those
+ packets that carry TLS Application Data.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#groupConversationsByHostname-java.util.Collection-edu.uci.iotproject.DnsMap-">groupConversationsByHostname</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;tcpConversations,
+                            <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</code>
+<div class="block">Given a collection of TCP conversations and associated DNS mappings, groups the conversations by hostname.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#groupConversationsByPacketSequence-java.util.Collection-boolean-">groupConversationsByPacketSequence</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations,
+                                  boolean&nbsp;verbose)</code>
+<div class="block">Given a <code>Collection</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s, builds a <code>Map</code> from <code>String</code> to <code>List</code>
+ of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s such that each key is the <em>concatenation of the packet lengths of all payload packets
+ (i.e., the set of packets returned by <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getPackets--"><code>Conversation.getPackets()</code></a>) separated by a delimiter</em> of any
+ <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> pointed to by that key.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#groupConversationsByTlsApplicationDataPacketSequence-java.util.Collection-">groupConversationsByTlsApplicationDataPacketSequence</a></span>(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#isPartOfConversationAndAdjacent-java.util.List-java.util.List-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">isPartOfConversationAndAdjacent</a></span>(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;ppListFirst,
+                               java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;ppListSecond,
+                               <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;conversation)</code>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects, check if <code>List</code> of <code>PcapPacket</code> is part of it and return the
+ adjacency label based on <code>SignaturePosition</code>.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#isTlsPort-int-">isTlsPort</a></span>(int&nbsp;port)</code>
+<div class="block">Check if a given port number is considered a TLS port.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#returnConversation-java.util.List-java.util.List-">returnConversation</a></span>(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;ppList,
+                  java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</code>
+<div class="block">Given a <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects, find one that has the given <code>List</code>
+ of <code>PcapPacket</code>.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#sortConversationList-java.util.List-">sortConversationList</a></span>(java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</code>
+<div class="block">Given a list of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects, sort them by timestamps.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TcpConversationUtils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TcpConversationUtils</h4>
+<pre>public&nbsp;TcpConversationUtils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="extractPacketPairs-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>extractPacketPairs</h4>
+<pre>public static&nbsp;java.util.List&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;extractPacketPairs(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;conv)</pre>
+<div class="block"><p>
+      Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its set of "packet pairs", i.e., pairs of request-reply packets.
+      <em>The extracted pairs are formed from the full set of payload-carrying TCP packets.</em>
+ </p>
+
+ <b>Note:</b> in the current implementation, if one endpoint sends multiple packets back-to-back with no
+ interleaved reply packets from the other endpoint, such packets are converted to one-item pairs (i.e., instances
+ of <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><code>PcapPacketPair</code></a> where <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#getSecond--"><code>PcapPacketPair.getSecond()</code></a> is <code>null</code>).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conv</code> - The <code>Conversation</code> for which packet pairs are to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The packet pairs extracted from <code>conv</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="extractTlsAppDataPacketPairs-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>extractTlsAppDataPacketPairs</h4>
+<pre>public static&nbsp;java.util.List&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;extractTlsAppDataPacketPairs(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;conv)</pre>
+<div class="block"><p>
+      Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its set of "packet pairs", i.e., pairs of request-reply packets.
+      <em>The extracted pairs are formed from the full set of TLS Application Data packets.</em>
+ </p>
+
+ <b>Note:</b> in the current implementation, if one endpoint sends multiple packets back-to-back with no
+ interleaved reply packets from the other endpoint, such packets are converted to one-item pairs (i.e., instances
+ of <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><code>PcapPacketPair</code></a> where <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html#getSecond--"><code>PcapPacketPair.getSecond()</code></a> is <code>null</code>).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conv</code> - The <code>Conversation</code> for which packet pairs are to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The packet pairs extracted from <code>conv</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="groupConversationsByHostname-java.util.Collection-edu.uci.iotproject.DnsMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>groupConversationsByHostname</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;&nbsp;groupConversationsByHostname(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;tcpConversations,
+                                                                                                        <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</pre>
+<div class="block">Given a collection of TCP conversations and associated DNS mappings, groups the conversations by hostname.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tcpConversations</code> - The collection of TCP conversations.</dd>
+<dd><code>ipHostnameMappings</code> - The associated DNS mappings.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A map where each key is a hostname and its associated value is a list of conversations where one of the
+         two communicating hosts is that hostname (i.e. its IP maps to the hostname).</dd>
+</dl>
+</li>
+</ul>
+<a name="countPacketSequenceFrequencies-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPacketSequenceFrequencies</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&nbsp;countPacketSequenceFrequencies(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</pre>
+</li>
+</ul>
+<a name="groupConversationsByPacketSequence-java.util.Collection-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>groupConversationsByPacketSequence</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;&nbsp;groupConversationsByPacketSequence(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations,
+                                                                                                              boolean&nbsp;verbose)</pre>
+<div class="block">Given a <code>Collection</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s, builds a <code>Map</code> from <code>String</code> to <code>List</code>
+ of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s such that each key is the <em>concatenation of the packet lengths of all payload packets
+ (i.e., the set of packets returned by <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getPackets--"><code>Conversation.getPackets()</code></a>) separated by a delimiter</em> of any
+ <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> pointed to by that key. In other words, what the <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s <code>cs</code> pointed to
+ by the key <code>s</code> have in common is that they all contain exactly the same number of payload packets <em>and
+ </em> these payload packets are identical across all <code>Conversation</code>s in <code>cs</code> in terms of packet
+ length and packet order. For example, if the key is "152 440 550", this means that every individual
+ <code>Conversation</code> in the list of <code>Conversation</code>s pointed to by that key contain exactly three payload
+ packet of lengths 152, 440, and 550, and these three packets are ordered in the order prescribed by the key.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conversations</code> - The collection of <code>Conversation</code>s to group by packet sequence.</dd>
+<dd><code>verbose</code> - If set to <code>true</code>, the grouping (and therefore the key) will also include SYN/SYNACK,
+                FIN/FINACK, RST packets, and each payload-carrying packet will have an indication of the direction
+                of the packet prepended.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <code>Map</code> from <code>String</code> to <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s such that each key is the
+         <em>concatenation of the packet lengths of all payload packets (i.e., the set of packets returned by
+         <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getPackets--"><code>Conversation.getPackets()</code></a>) separated by a delimiter</em> of any <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> pointed to
+         by that key.</dd>
+</dl>
+</li>
+</ul>
+<a name="groupConversationsByTlsApplicationDataPacketSequence-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>groupConversationsByTlsApplicationDataPacketSequence</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;&nbsp;groupConversationsByTlsApplicationDataPacketSequence(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</pre>
+</li>
+</ul>
+<a name="countPacketLengthFrequencies-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPacketLengthFrequencies</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.Integer,java.lang.Integer&gt;&nbsp;countPacketLengthFrequencies(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;c)</pre>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, counts the frequencies of each unique packet length seen as part of the
+ <code>Conversation</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - The <code>Conversation</code> for which unique packet length frequencies are to be determined.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A mapping from packet length to its frequency.</dd>
+</dl>
+</li>
+</ul>
+<a name="countPacketLengthFrequencies-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPacketLengthFrequencies</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.Integer,java.lang.Integer&gt;&nbsp;countPacketLengthFrequencies(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</pre>
+<div class="block">Like <a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-edu.uci.iotproject.trafficreassembly.layer3.Conversation-"><code>countPacketLengthFrequencies(Conversation)</code></a>, but counts packet length frequencies for a collection
+ of <code>Conversation</code>s, i.e., the frequency of a packet length becomes the total number of packets with that
+ length across <em>all</em> <code>Conversation</code>s in <code>conversations</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conversations</code> - The collection of <code>Conversation</code>s for which packet length frequencies are to be
+                      counted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A mapping from packet length to its frequency.</dd>
+</dl>
+</li>
+</ul>
+<a name="countPacketPairFrequencies-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPacketPairFrequencies</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&nbsp;countPacketPairFrequencies(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;pairs)</pre>
+</li>
+</ul>
+<a name="countPacketPairFrequenciesByHostname-java.util.Collection-edu.uci.iotproject.DnsMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countPacketPairFrequenciesByHostname</h4>
+<pre>public static&nbsp;java.util.Map&lt;java.lang.String,java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&gt;&nbsp;countPacketPairFrequenciesByHostname(java.util.Collection&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;tcpConversations,
+                                                                                                                                     <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</pre>
+</li>
+</ul>
+<a name="getPacketLengthSequence-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketLengthSequence</h4>
+<pre>public static&nbsp;java.lang.Integer[]&nbsp;getPacketLengthSequence(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;c)</pre>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its packet length sequence.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - The <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> from which a packet length sequence is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>An <code>Integer[]</code> that holds the packet lengths of all payload-carrying packets in <code>c</code>. The
+         packet lengths in the returned array are ordered by packet timestamp.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPacketLengthSequenceTlsAppDataOnly-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketLengthSequenceTlsAppDataOnly</h4>
+<pre>public static&nbsp;java.lang.Integer[]&nbsp;getPacketLengthSequenceTlsAppDataOnly(<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;c)</pre>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>, extract its packet length sequence, but only include packet lengths of those
+ packets that carry TLS Application Data.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - The <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> from which a TLS Application Data packet length sequence is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>An <code>Integer[]</code> that holds the packet lengths of all packets in <code>c</code> that carry TLS Application
+         Data. The packet lengths in the returned array are ordered by packet timestamp.</dd>
+</dl>
+</li>
+</ul>
+<a name="isTlsPort-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isTlsPort</h4>
+<pre>public static&nbsp;boolean&nbsp;isTlsPort(int&nbsp;port)</pre>
+<div class="block">Check if a given port number is considered a TLS port.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>port</code> - The port number to check.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the port number is considered a TLS port, <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="sortConversationList-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortConversationList</h4>
+<pre>public static&nbsp;java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;sortConversationList(java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</pre>
+<div class="block">Given a list of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects, sort them by timestamps.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conversations</code> - The list of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects to be sorted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A sorted list of <code>Conversation</code> based on timestamps of the first
+          packet in the <code>Conversation</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="returnConversation-java.util.List-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>returnConversation</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;returnConversation(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;ppList,
+                                              java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</pre>
+<div class="block">Given a <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects, find one that has the given <code>List</code>
+ of <code>PcapPacket</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conversations</code> - The <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects as reference.</dd>
+<dd><code>ppList</code> - The <code>List</code> of <code>PcapPacket</code> objects to search in the <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Conversation</code> that contains the given <code>List</code> of <code>PcapPacket</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isPartOfConversationAndAdjacent-java.util.List-java.util.List-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isPartOfConversationAndAdjacent</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a>&nbsp;isPartOfConversationAndAdjacent(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;ppListFirst,
+                                                                                     java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;ppListSecond,
+                                                                                     <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;conversation)</pre>
+<div class="block">Given a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects, check if <code>List</code> of <code>PcapPacket</code> is part of it and return the
+ adjacency label based on <code>SignaturePosition</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conversation</code> - The <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> object as reference.</dd>
+<dd><code>ppListFirst</code> - The first <code>List</code> of <code>PcapPacket</code> objects in the <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>.</dd>
+<dd><code>ppListSecond</code> - The second <code>List</code> of <code>PcapPacket</code> objects in the <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> whose
+                     position will be observed in the <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> with respect to ppListFirst.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>SignaturePosition</code> that represents the position of the signature against another signature
+          in a <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TcpConversationUtils.html" target="_top">Frames</a></li>
+<li><a href="TcpConversationUtils.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html
new file mode 100644 (file)
index 0000000..9116a03
--- /dev/null
@@ -0,0 +1,404 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>TrafficLabeler</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TrafficLabeler";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TrafficLabeler.html" target="_top">Frames</a></li>
+<li><a href="TrafficLabeler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Class TrafficLabeler" class="title">Class TrafficLabeler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.TrafficLabeler</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.pcap4j.core.PacketListener</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TrafficLabeler</span>
+extends java.lang.Object
+implements org.pcap4j.core.PacketListener</pre>
+<div class="block">A <code>PacketListener</code> that marks network traffic as (potentially) related to a user's actions by comparing the
+ timestamp of each packet to the timestamps of the provided list of user actions.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#TrafficLabeler-java.util.List-">TrafficLabeler</a></span>(java.util.List&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;userActions)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic--">getLabeledReassembledTcpTraffic</a></span>()</code>
+<div class="block">Get the labeled traffic reassembled as TCP connections (<b>note:</b> <em>discards</em> all non-TCP traffic).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic-edu.uci.iotproject.DnsMap-">getLabeledReassembledTcpTraffic</a></span>(<a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</code>
+<div class="block">Like <a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic--"><code>getLabeledReassembledTcpTraffic()</code></a>, but uses the provided <code>ipHostnameMappings</code> to group
+ <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s by hostname.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic--">getLabeledTraffic</a></span>()</code>
+<div class="block">Get the labeled traffic.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic-java.util.function.Function-">getLabeledTraffic</a></span>(java.util.function.Function&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;,T&gt;&nbsp;mappingFunction)</code>
+<div class="block">Like <a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic--"><code>getLabeledTraffic()</code></a>, but allows the caller to supply a mapping function that is applied to
+ the traffic associated with each <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> (the traffic label) before returning the labeled traffic.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getTotalPacketCount--">getTotalPacketCount</a></span>()</code>
+<div class="block">Get the total number of packets labeled by this <code>TrafficLabeler</code>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TrafficLabeler-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TrafficLabeler</h4>
+<pre>public&nbsp;TrafficLabeler(java.util.List&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;userActions)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="gotPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>gotPacket</h4>
+<pre>public&nbsp;void&nbsp;gotPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>gotPacket</code>&nbsp;in interface&nbsp;<code>org.pcap4j.core.PacketListener</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTotalPacketCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTotalPacketCount</h4>
+<pre>public&nbsp;long&nbsp;getTotalPacketCount()</pre>
+<div class="block">Get the total number of packets labeled by this <code>TrafficLabeler</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the total number of packets labeled by this <code>TrafficLabeler</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLabeledTraffic--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLabeledTraffic</h4>
+<pre>public&nbsp;java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;getLabeledTraffic()</pre>
+<div class="block">Get the labeled traffic.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Map</code> in which a <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> points to a <code>List</code> of <code>PcapPacket</code>s believed to
+         be related (occurring as a result of) that <code>UserAction</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLabeledTraffic-java.util.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLabeledTraffic</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,T&gt;&nbsp;getLabeledTraffic(java.util.function.Function&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;,T&gt;&nbsp;mappingFunction)</pre>
+<div class="block">Like <a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic--"><code>getLabeledTraffic()</code></a>, but allows the caller to supply a mapping function that is applied to
+ the traffic associated with each <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> (the traffic label) before returning the labeled traffic.
+ This may for example be useful for a caller who wishes to perform some postprocessing of labeled traffic, e.g.,
+ in order to perform additional filtering or to transform the representation of labeled traffic.
+ <p>
+     An example usecase is provided in <a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic--"><code>getLabeledReassembledTcpTraffic()</code></a> which uses this function to
+     build a <code>Map</code> in which a <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> points to the reassembled TCP connections believed to have
+     occurred as a result of that <code>UserAction</code>.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The return type of <code>mappingFunction</code>.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mappingFunction</code> - A mapping function that converts a <code>List</code> of <code>PcapPacket</code> into some other type
+                        <code>T</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Map</code> in which a <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> points to the result of applying <code>mappingFunction</code> to
+         the set of packets believed to be related (occurring as a result of) that <code>UserAction</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLabeledReassembledTcpTraffic--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLabeledReassembledTcpTraffic</h4>
+<pre>public&nbsp;java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;&nbsp;getLabeledReassembledTcpTraffic()</pre>
+<div class="block">Get the labeled traffic reassembled as TCP connections (<b>note:</b> <em>discards</em> all non-TCP traffic).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Map</code> in which a <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> points to a <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s believed to
+         be related (occurring as a result of) that <code>UserAction</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLabeledReassembledTcpTraffic-edu.uci.iotproject.DnsMap-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLabeledReassembledTcpTraffic</h4>
+<pre>public&nbsp;java.util.Map&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>,java.util.Map&lt;java.lang.String,java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&gt;&gt;&nbsp;getLabeledReassembledTcpTraffic(<a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</pre>
+<div class="block">Like <a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic--"><code>getLabeledReassembledTcpTraffic()</code></a>, but uses the provided <code>ipHostnameMappings</code> to group
+ <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s by hostname.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ipHostnameMappings</code> - A <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a> with IP to hostname mappings used for reverse DNS lookup.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Map</code> in which a <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><code>UserAction</code></a> points to the set of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s believed to be
+         related (occurring as a result of) that <code>UserAction</code>. More precisely, each <code>UserAction</code> in
+         the returned <code>Map</code> points to <em>another</em> <code>Map</code> in which a hostname points to the set of
+         <code>Conversation</code>s involving that hostname.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TrafficLabeler.html" target="_top">Frames</a></li>
+<li><a href="TrafficLabeler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html
new file mode 100644 (file)
index 0000000..59beab1
--- /dev/null
@@ -0,0 +1,375 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>TriggerTrafficExtractor</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TriggerTrafficExtractor";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" target="_top">Frames</a></li>
+<li><a href="TriggerTrafficExtractor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Class TriggerTrafficExtractor" class="title">Class TriggerTrafficExtractor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.TriggerTrafficExtractor</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TriggerTrafficExtractor</span>
+extends java.lang.Object
+implements <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a></pre>
+<div class="block">TODO add class documentation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#INCLUSION_WINDOW_MILLIS">INCLUSION_WINDOW_MILLIS</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#TriggerTrafficExtractor-java.lang.String-java.util.List-java.lang.String-">TriggerTrafficExtractor</a></span>(java.lang.String&nbsp;pcapFilePath,
+                       java.util.List&lt;java.time.Instant&gt;&nbsp;triggerTimes,
+                       java.lang.String&nbsp;deviceIp)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#getPacketsIncludedCount--">getPacketsIncludedCount</a></span>()</code>
+<div class="block">Return the number of extracted packets (i.e., packets selected for inclusion) as a result of the most recent call
+ to <a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#performExtraction-org.pcap4j.core.PacketListener...-"><code>performExtraction(PacketListener...)</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#performExtraction-org.pcap4j.core.PacketListener...-">performExtraction</a></span>(org.pcap4j.core.PacketListener...&nbsp;extractedPacketsConsumers)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#shouldIncludePacket-org.pcap4j.core.PcapPacket-">shouldIncludePacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="INCLUSION_WINDOW_MILLIS">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>INCLUSION_WINDOW_MILLIS</h4>
+<pre>public static final&nbsp;int INCLUSION_WINDOW_MILLIS</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#edu.uci.iotproject.analysis.TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TriggerTrafficExtractor-java.lang.String-java.util.List-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TriggerTrafficExtractor</h4>
+<pre>public&nbsp;TriggerTrafficExtractor(java.lang.String&nbsp;pcapFilePath,
+                               java.util.List&lt;java.time.Instant&gt;&nbsp;triggerTimes,
+                               java.lang.String&nbsp;deviceIp)
+                        throws org.pcap4j.core.PcapNativeException,
+                               org.pcap4j.core.NotOpenException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.pcap4j.core.PcapNativeException</code></dd>
+<dd><code>org.pcap4j.core.NotOpenException</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="performExtraction-org.pcap4j.core.PacketListener...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>performExtraction</h4>
+<pre>public&nbsp;void&nbsp;performExtraction(org.pcap4j.core.PacketListener...&nbsp;extractedPacketsConsumers)
+                       throws org.pcap4j.core.PcapNativeException,
+                              org.pcap4j.core.NotOpenException,
+                              java.util.concurrent.TimeoutException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.pcap4j.core.PcapNativeException</code></dd>
+<dd><code>org.pcap4j.core.NotOpenException</code></dd>
+<dd><code>java.util.concurrent.TimeoutException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getPacketsIncludedCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketsIncludedCount</h4>
+<pre>public&nbsp;long&nbsp;getPacketsIncludedCount()</pre>
+<div class="block">Return the number of extracted packets (i.e., packets selected for inclusion) as a result of the most recent call
+ to <a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#performExtraction-org.pcap4j.core.PacketListener...-"><code>performExtraction(PacketListener...)</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of extracted packets (i.e., packets selected for inclusion) as a result of the most recent
+         call to <a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#performExtraction-org.pcap4j.core.PacketListener...-"><code>performExtraction(PacketListener...)</code></a>.</dd>
+</dl>
+</li>
+</ul>
+<a name="shouldIncludePacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shouldIncludePacket</h4>
+<pre>public&nbsp;boolean&nbsp;shouldIncludePacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html#shouldIncludePacket-org.pcap4j.core.PcapPacket-">shouldIncludePacket</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" target="_top">Frames</a></li>
+<li><a href="TriggerTrafficExtractor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html
new file mode 100644 (file)
index 0000000..7f2db91
--- /dev/null
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>UserAction.Type</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UserAction.Type";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/UserAction.Type.html" target="_top">Frames</a></li>
+<li><a href="UserAction.Type.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Enum UserAction.Type" class="title">Enum UserAction.Type</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>java.lang.Enum&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.UserAction.Type</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">UserAction.Type</span>
+extends java.lang.Enum&lt;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&gt;</pre>
+<div class="block">Enum for indicating what type of action the user performed.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html#TOGGLE_OFF">TOGGLE_OFF</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html#TOGGLE_ON">TOGGLE_ON</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
+<code>compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="TOGGLE_ON">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TOGGLE_ON</h4>
+<pre>public static final&nbsp;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a> TOGGLE_ON</pre>
+</li>
+</ul>
+<a name="TOGGLE_OFF">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TOGGLE_OFF</h4>
+<pre>public static final&nbsp;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a> TOGGLE_OFF</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (UserAction.Type c : UserAction.Type.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
+<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/UserAction.Type.html" target="_top">Frames</a></li>
+<li><a href="UserAction.Type.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html
new file mode 100644 (file)
index 0000000..853c406
--- /dev/null
@@ -0,0 +1,415 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:58 PDT 2019 -->
+<title>UserAction</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UserAction";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":9,"i6":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/UserAction.html" target="_top">Frames</a></li>
+<li><a href="UserAction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.analysis</div>
+<h2 title="Class UserAction" class="title">Class UserAction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.analysis.UserAction</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">UserAction</span>
+extends java.lang.Object</pre>
+<div class="block">Models a user's action, such as toggling the smart plug on/off at a given time.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></span></code>
+<div class="block">Enum for indicating what type of action the user performed.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#UserAction-edu.uci.iotproject.analysis.UserAction.Type-java.time.Instant-">UserAction</a></span>(<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&nbsp;typeOfAction,
+          java.time.Instant&nbsp;timeOfAction)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#fromString-java.lang.String-">fromString</a></span>(java.lang.String&nbsp;string)</code>
+<div class="block">Instantiates a <code>UserAction</code> from a string that obeys the format used in <a href="../../../../edu/uci/iotproject/analysis/UserAction.html#toString--"><code>toString()</code></a>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>java.time.Instant</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#getTimestamp--">getTimestamp</a></span>()</code>
+<div class="block">Get the time at which the user performed this action.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#getType--">getType</a></span>()</code>
+<div class="block">Get the specific type of action performed by the user.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#setTimestampFormatter-java.time.format.DateTimeFormatter-">setTimestampFormatter</a></span>(java.time.format.DateTimeFormatter&nbsp;formatter)</code>
+<div class="block">Sets the <code>DateTimeFormatter</code> used when outputting a user action as a string and parsing a user action from
+ a string.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UserAction-edu.uci.iotproject.analysis.UserAction.Type-java.time.Instant-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UserAction</h4>
+<pre>public&nbsp;UserAction(<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&nbsp;typeOfAction,
+                  java.time.Instant&nbsp;timeOfAction)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setTimestampFormatter-java.time.format.DateTimeFormatter-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimestampFormatter</h4>
+<pre>public static&nbsp;void&nbsp;setTimestampFormatter(java.time.format.DateTimeFormatter&nbsp;formatter)</pre>
+<div class="block">Sets the <code>DateTimeFormatter</code> used when outputting a user action as a string and parsing a user action from
+ a string.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>formatter</code> - The formatter to use for outputting and parsing.</dd>
+</dl>
+</li>
+</ul>
+<a name="fromString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fromString</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&nbsp;fromString(java.lang.String&nbsp;string)</pre>
+<div class="block">Instantiates a <code>UserAction</code> from a string that obeys the format used in <a href="../../../../edu/uci/iotproject/analysis/UserAction.html#toString--"><code>toString()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>string</code> - The string that represents a <code>UserAction</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>UserAction</code> resulting from deserializing the string.</dd>
+</dl>
+</li>
+</ul>
+<a name="getType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getType</h4>
+<pre>public&nbsp;<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a>&nbsp;getType()</pre>
+<div class="block">Get the specific type of action performed by the user.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the specific type of action performed by the user.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTimestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTimestamp</h4>
+<pre>public&nbsp;java.time.Instant&nbsp;getTimestamp()</pre>
+<div class="block">Get the time at which the user performed this action.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the time at which the user performed this action.</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/UserAction.html" target="_top">Frames</a></li>
+<li><a href="UserAction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html
new file mode 100644 (file)
index 0000000..3ff51fa
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>edu.uci.iotproject.analysis</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../edu/uci/iotproject/analysis/package-summary.html" target="classFrame">edu.uci.iotproject.analysis</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis" target="classFrame"><span class="interfaceName">PcapPacketFilter</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="PcapPacketPair.html" title="class in edu.uci.iotproject.analysis" target="classFrame">PcapPacketPair</a></li>
+<li><a href="TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis" target="classFrame">TcpConversationUtils</a></li>
+<li><a href="TrafficLabeler.html" title="class in edu.uci.iotproject.analysis" target="classFrame">TrafficLabeler</a></li>
+<li><a href="TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis" target="classFrame">TriggerTrafficExtractor</a></li>
+<li><a href="UserAction.html" title="class in edu.uci.iotproject.analysis" target="classFrame">UserAction</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis" target="classFrame">TcpConversationUtils.SignaturePosition</a></li>
+<li><a href="UserAction.Type.html" title="enum in edu.uci.iotproject.analysis" target="classFrame">UserAction.Type</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html
new file mode 100644 (file)
index 0000000..9cf1a3b
--- /dev/null
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>edu.uci.iotproject.analysis</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="edu.uci.iotproject.analysis";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/comparison/seqalignment/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;edu.uci.iotproject.analysis</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a></td>
+<td class="colLast">
+<div class="block">TODO add class documentation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></td>
+<td class="colLast">
+<div class="block">
+     A simple wrapper for holding a pair of packets (e.g., a request and associated reply packet).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></td>
+<td class="colLast">
+<div class="block">Utility functions for analyzing and structuring (sets of) <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a>s.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></td>
+<td class="colLast">
+<div class="block">A <code>PacketListener</code> that marks network traffic as (potentially) related to a user's actions by comparing the
+ timestamp of each packet to the timestamps of the provided list of user actions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></td>
+<td class="colLast">
+<div class="block">TODO add class documentation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></td>
+<td class="colLast">
+<div class="block">Models a user's action, such as toggling the smart plug on/off at a given time.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></td>
+<td class="colLast">
+<div class="block">Identifies the adjacency type of the signature for merging.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></td>
+<td class="colLast">
+<div class="block">Enum for indicating what type of action the user performed.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/comparison/seqalignment/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html
new file mode 100644 (file)
index 0000000..c108bd7
--- /dev/null
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>edu.uci.iotproject.analysis Class Hierarchy</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="edu.uci.iotproject.analysis Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/comparison/seqalignment/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.uci.iotproject.analysis</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.Object
+<ul>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">PcapPacketPair</span></a> (implements org.apache.commons.math3.stat.clustering.Clusterable&lt;T&gt;)</li>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">TcpConversationUtils</span></a></li>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">TrafficLabeler</span></a> (implements org.pcap4j.core.PacketListener)</li>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">TriggerTrafficExtractor</span></a> (implements edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a>)</li>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">UserAction</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><span class="typeNameLink">PcapPacketFilter</span></a></li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.Object
+<ul>
+<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<ul>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">TcpConversationUtils.SignaturePosition</span></a></li>
+<li type="circle">edu.uci.iotproject.analysis.<a href="../../../../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">UserAction.Type</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/comparison/seqalignment/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/analysis/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html
new file mode 100644 (file)
index 0000000..dd40b72
--- /dev/null
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>AlignmentPricer</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AlignmentPricer";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" target="_top">Frames</a></li>
+<li><a href="AlignmentPricer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.comparison.seqalignment</div>
+<h2 title="Class AlignmentPricer" class="title">Class AlignmentPricer&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.comparison.seqalignment.AlignmentPricer&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - The type of the elements that are being aligned.</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">SampleIntegerAlignmentPricer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">AlignmentPricer&lt;T&gt;</span>
+extends java.lang.Object</pre>
+<div class="block">Provides a generic implementation for the calculation of the cost of aligning two elements of a sequence as part of
+ the sequence alignment algorithm (the algorithm is implemented in <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a>).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html#AlignmentPricer-java.util.function.ToIntBiFunction-java.util.function.ToIntFunction-">AlignmentPricer</a></span>(java.util.function.ToIntBiFunction&lt;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>,<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&gt;&nbsp;alignmentCostFunction,
+               java.util.function.ToIntFunction&lt;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&gt;&nbsp;gapCostFunction)</code>
+<div class="block">Constructs a new <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>AlignmentPricer</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html#alignmentCost-T-T-">alignmentCost</a></span>(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&nbsp;item1,
+             <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&nbsp;item2)</code>
+<div class="block">Calculate the cost of aligning <code>item1</code> with <code>item2</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AlignmentPricer-java.util.function.ToIntBiFunction-java.util.function.ToIntFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AlignmentPricer</h4>
+<pre>public&nbsp;AlignmentPricer(java.util.function.ToIntBiFunction&lt;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>,<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&gt;&nbsp;alignmentCostFunction,
+                       java.util.function.ToIntFunction&lt;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&gt;&nbsp;gapCostFunction)</pre>
+<div class="block">Constructs a new <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>AlignmentPricer</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>alignmentCostFunction</code> - A function that specifies the cost of aligning a <code>T</code> with some other <code>T</code>
+                              (e.g., based on the values of the properties of the two instances).</dd>
+<dd><code>gapCostFunction</code> - A function that specifies the cost of aligning a <code>T</code> with a gap. Note that the
+                        function is free to specify <em>different</em> gap costs for different <code>T</code>s.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="alignmentCost-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="alignmentCost-T-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>alignmentCost</h4>
+<pre>public&nbsp;int&nbsp;alignmentCost(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&nbsp;item1,
+                         <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&nbsp;item2)</pre>
+<div class="block">Calculate the cost of aligning <code>item1</code> with <code>item2</code>. If either of the two arguments is set to
+ <code>null</code>, the cost of aligning the other argument with a gap will be returned. Note that both arguments
+ cannot be <code>null</code> at the same time as that translates to aligning a gap with a gap, which is pointless.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>item1</code> - The first of the two aligned objects. Set to <code>null</code> to calculate the cost of aligning
+              <code>item2</code> with a gap.</dd>
+<dd><code>item2</code> - The second of the two aligned objects. Set to <code>null</code> to calculate the cost of aligning
+              <code>item2</code> with a gap.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The cost of aligning <code>item1</code> with <code>item2</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" target="_top">Frames</a></li>
+<li><a href="AlignmentPricer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html
new file mode 100644 (file)
index 0000000..5f14dab
--- /dev/null
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>ExtractedSequence</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ExtractedSequence";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" target="_top">Frames</a></li>
+<li><a href="ExtractedSequence.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.comparison.seqalignment</div>
+<h2 title="Class ExtractedSequence" class="title">Class ExtractedSequence</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.comparison.seqalignment.ExtractedSequence</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ExtractedSequence</span>
+extends java.lang.Object</pre>
+<div class="block">TODO add class documentation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html#ExtractedSequence-edu.uci.iotproject.trafficreassembly.layer3.Conversation-int-boolean-">ExtractedSequence</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;sequence,
+                 int&nbsp;maxAlignmentCost,
+                 boolean&nbsp;tlsAppDataAlignment)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html#getMaxAlignmentCost--">getMaxAlignmentCost</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html#getRepresentativeSequence--">getRepresentativeSequence</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ExtractedSequence-edu.uci.iotproject.trafficreassembly.layer3.Conversation-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ExtractedSequence</h4>
+<pre>public&nbsp;ExtractedSequence(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;sequence,
+                         int&nbsp;maxAlignmentCost,
+                         boolean&nbsp;tlsAppDataAlignment)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getRepresentativeSequence--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRepresentativeSequence</h4>
+<pre>public&nbsp;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&nbsp;getRepresentativeSequence()</pre>
+</li>
+</ul>
+<a name="getMaxAlignmentCost--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMaxAlignmentCost</h4>
+<pre>public&nbsp;int&nbsp;getMaxAlignmentCost()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" target="_top">Frames</a></li>
+<li><a href="ExtractedSequence.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html
new file mode 100644 (file)
index 0000000..5cafd46
--- /dev/null
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>SampleIntegerAlignmentPricer</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SampleIntegerAlignmentPricer";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" target="_top">Frames</a></li>
+<li><a href="SampleIntegerAlignmentPricer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.edu.uci.iotproject.comparison.seqalignment.AlignmentPricer">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.comparison.seqalignment</div>
+<h2 title="Class SampleIntegerAlignmentPricer" class="title">Class SampleIntegerAlignmentPricer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">edu.uci.iotproject.comparison.seqalignment.AlignmentPricer</a>&lt;java.lang.Integer&gt;</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.comparison.seqalignment.SampleIntegerAlignmentPricer</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SampleIntegerAlignmentPricer</span>
+extends <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a>&lt;java.lang.Integer&gt;</pre>
+<div class="block">A sample <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>AlignmentPricer</code></a> for computing the cost of aligning integer values. In this sample implementation,
+ the cost of aligning two integers <code>i1</code> and <code>i2</code> is <code>Math.abs(i1 - i2)</code>, i.e., it is the absolute
+ value of the difference between <code>i1</code> and <code>i2</code>. The cost of aligning an integer <code>i</code> with a gap is
+ simply <code>i</code>, i.e., the gap is essentially treated as a zero.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html#SampleIntegerAlignmentPricer--">SampleIntegerAlignmentPricer</a></span>()</code>
+<div class="block">Constructs a new <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SampleIntegerAlignmentPricer</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.edu.uci.iotproject.comparison.seqalignment.AlignmentPricer">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;edu.uci.iotproject.comparison.seqalignment.<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a></h3>
+<code><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html#alignmentCost-T-T-">alignmentCost</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SampleIntegerAlignmentPricer--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SampleIntegerAlignmentPricer</h4>
+<pre>public&nbsp;SampleIntegerAlignmentPricer()</pre>
+<div class="block">Constructs a new <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SampleIntegerAlignmentPricer</code></a>.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" target="_top">Frames</a></li>
+<li><a href="SampleIntegerAlignmentPricer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.edu.uci.iotproject.comparison.seqalignment.AlignmentPricer">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html
new file mode 100644 (file)
index 0000000..bad2ed0
--- /dev/null
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>SequenceAlignment</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SequenceAlignment";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" target="_top">Frames</a></li>
+<li><a href="SequenceAlignment.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.comparison.seqalignment</div>
+<h2 title="Class SequenceAlignment" class="title">Class SequenceAlignment&lt;ALIGNMENT_UNIT&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.comparison.seqalignment.SequenceAlignment&lt;ALIGNMENT_UNIT&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>ALIGNMENT_UNIT</code> - The <em>unit of the alignment</em>, or, in other words, the <em>granularity</em> of the
+                        alignment. For example, for 'classical' string alignment (as in sequence alignment where we
+                        try to align two strings character by character -- the example most often used in books on
+                        algorithms) this would be a <code>Character</code>. As a second example, by specifying
+                        <code>String</code>, one can decrease the granularity so as to align <em>blocks</em> of characters
+                        (e.g., if one wants to align to two string arrays).</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SequenceAlignment&lt;ALIGNMENT_UNIT&gt;</span>
+extends java.lang.Object</pre>
+<div class="block">A generic implementation of the sequence alignment algorithm given in Kleinberg's and Tardos' "Algorithm Design".
+ This implementation is the basic version. There is a more complex version which significantly reduces the space
+ complexity at a slight cost to time complexity.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html#SequenceAlignment-edu.uci.iotproject.comparison.seqalignment.AlignmentPricer-">SequenceAlignment</a></span>(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a>&lt;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>&gt;&nbsp;alignmentPricer)</code>
+<div class="block">Constructs a new <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html#calculateAlignment-ALIGNMENT_UNIT:A-ALIGNMENT_UNIT:A-">calculateAlignment</a></span>(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>[]&nbsp;sequence1,
+                  <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>[]&nbsp;sequence2)</code>
+<div class="block">Calculates the cost of aligning <code>sequence1</code> with <code>sequence2</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SequenceAlignment-edu.uci.iotproject.comparison.seqalignment.AlignmentPricer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SequenceAlignment</h4>
+<pre>public&nbsp;SequenceAlignment(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a>&lt;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>&gt;&nbsp;alignmentPricer)</pre>
+<div class="block">Constructs a new <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a>. The new instance relies on the provided <code>alignmentPricer</code> to
+ provide the cost of aligning two <code>ALIGNMENT_UNIT</code>s as well as the cost of aligning an
+ <code>ALIGNMENT_UNIT</code> with a gap.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>alignmentPricer</code> - An <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>AlignmentPricer</code></a> that provides the cost of aligning two <code>ALIGNMENT_UNIT</code>s
+                        with one another as well as the cost of aligning an <code>ALIGNMENT_UNIT</code> with a gap.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="calculateAlignment-java.lang.Object:A-java.lang.Object:A-">
+<!--   -->
+</a><a name="calculateAlignment-ALIGNMENT_UNIT:A-ALIGNMENT_UNIT:A-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>calculateAlignment</h4>
+<pre>public&nbsp;int&nbsp;calculateAlignment(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>[]&nbsp;sequence1,
+                              <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>[]&nbsp;sequence2)</pre>
+<div class="block">Calculates the cost of aligning <code>sequence1</code> with <code>sequence2</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequence1</code> - A sequence that is to be aligned with <code>sequence2</code>.</dd>
+<dd><code>sequence2</code> - A sequence that is to be aligned with <code>sequence1</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The cost of aligning <code>sequence1</code> with <code>sequence2</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" target="_top">Frames</a></li>
+<li><a href="SequenceAlignment.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html
new file mode 100644 (file)
index 0000000..8b49b96
--- /dev/null
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>SequenceExtraction</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SequenceExtraction";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" target="_top">Frames</a></li>
+<li><a href="SequenceExtraction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.comparison.seqalignment</div>
+<h2 title="Class SequenceExtraction" class="title">Class SequenceExtraction</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.comparison.seqalignment.SequenceExtraction</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SequenceExtraction</span>
+extends java.lang.Object</pre>
+<div class="block">TODO add class documentation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#SequenceExtraction--">SequenceExtraction</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#SequenceExtraction-edu.uci.iotproject.comparison.seqalignment.SequenceAlignment-">SequenceExtraction</a></span>(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a>&lt;java.lang.Integer&gt;&nbsp;alignmentAlgorithm)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#extract-java.util.List-">extract</a></span>(java.util.List&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;convsForActionForHostname)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#extractByTlsAppData-java.util.List-">extractByTlsAppData</a></span>(java.util.List&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;convsForActionForHostname)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a>&lt;java.lang.Integer&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#getAlignmentAlgorithm--">getAlignmentAlgorithm</a></span>()</code>
+<div class="block">Gets the <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a> used to perform the sequence extraction.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SequenceExtraction--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SequenceExtraction</h4>
+<pre>public&nbsp;SequenceExtraction()</pre>
+</li>
+</ul>
+<a name="SequenceExtraction-edu.uci.iotproject.comparison.seqalignment.SequenceAlignment-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SequenceExtraction</h4>
+<pre>public&nbsp;SequenceExtraction(<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a>&lt;java.lang.Integer&gt;&nbsp;alignmentAlgorithm)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getAlignmentAlgorithm--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAlignmentAlgorithm</h4>
+<pre>public&nbsp;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a>&lt;java.lang.Integer&gt;&nbsp;getAlignmentAlgorithm()</pre>
+<div class="block">Gets the <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a> used to perform the sequence extraction.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a> used to perform the sequence extraction.</dd>
+</dl>
+</li>
+</ul>
+<a name="extract-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>extract</h4>
+<pre>public&nbsp;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a>&nbsp;extract(java.util.List&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;convsForActionForHostname)</pre>
+</li>
+</ul>
+<a name="extractByTlsAppData-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>extractByTlsAppData</h4>
+<pre>public&nbsp;<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a>&nbsp;extractByTlsAppData(java.util.List&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;convsForActionForHostname)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" target="_top">Frames</a></li>
+<li><a href="SequenceExtraction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html
new file mode 100644 (file)
index 0000000..c2fc899
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>edu.uci.iotproject.comparison.seqalignment</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/package-summary.html" target="classFrame">edu.uci.iotproject.comparison.seqalignment</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">AlignmentPricer</a></li>
+<li><a href="ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">ExtractedSequence</a></li>
+<li><a href="SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">SampleIntegerAlignmentPricer</a></li>
+<li><a href="SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">SequenceAlignment</a></li>
+<li><a href="SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment" target="classFrame">SequenceExtraction</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html
new file mode 100644 (file)
index 0000000..0221c64
--- /dev/null
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>edu.uci.iotproject.comparison.seqalignment</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="edu.uci.iotproject.comparison.seqalignment";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/analysis/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;edu.uci.iotproject.comparison.seqalignment</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Provides a generic implementation for the calculation of the cost of aligning two elements of a sequence as part of
+ the sequence alignment algorithm (the algorithm is implemented in <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a>).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></td>
+<td class="colLast">
+<div class="block">TODO add class documentation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">SampleIntegerAlignmentPricer</a></td>
+<td class="colLast">
+<div class="block">A sample <a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>AlignmentPricer</code></a> for computing the cost of aligning integer values.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a>&lt;ALIGNMENT_UNIT&gt;</td>
+<td class="colLast">
+<div class="block">A generic implementation of the sequence alignment algorithm given in Kleinberg's and Tardos' "Algorithm Design".</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></td>
+<td class="colLast">
+<div class="block">TODO add class documentation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/analysis/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html
new file mode 100644 (file)
index 0000000..44ccbe6
--- /dev/null
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:27:00 PDT 2019 -->
+<title>edu.uci.iotproject.comparison.seqalignment Class Hierarchy</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="edu.uci.iotproject.comparison.seqalignment Class Hierarchy";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/analysis/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package edu.uci.iotproject.comparison.seqalignment</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.Object
+<ul>
+<li type="circle">edu.uci.iotproject.comparison.seqalignment.<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">AlignmentPricer</span></a>&lt;T&gt;
+<ul>
+<li type="circle">edu.uci.iotproject.comparison.seqalignment.<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">SampleIntegerAlignmentPricer</span></a></li>
+</ul>
+</li>
+<li type="circle">edu.uci.iotproject.comparison.seqalignment.<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">ExtractedSequence</span></a></li>
+<li type="circle">edu.uci.iotproject.comparison.seqalignment.<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">SequenceAlignment</span></a>&lt;ALIGNMENT_UNIT&gt;</li>
+<li type="circle">edu.uci.iotproject.comparison.seqalignment.<a href="../../../../../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">SequenceExtraction</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/analysis/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/comparison/seqalignment/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html
new file mode 100644 (file)
index 0000000..abcf1ef
--- /dev/null
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>AbstractClusterMatcher</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractClusterMatcher";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/AbstractClusterMatcher.html" target="_top">Frames</a></li>
+<li><a href="AbstractClusterMatcher.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.detection</div>
+<h2 title="Class AbstractClusterMatcher" class="title">Class AbstractClusterMatcher</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.AbstractClusterMatcher</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a>, <a href="../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractClusterMatcher</span>
+extends java.lang.Object</pre>
+<div class="block">Base class for classes that search a traffic trace for sequences of packets that "belong to" a given cluster (in
+ other words, classes that attempt to classify traffic as pertaining to a given cluster).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html#addObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">addObserver</a></span>(<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>&nbsp;observer)</code>
+<div class="block">Register for callbacks from this cluster matcher.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html#removeObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">removeObserver</a></span>(<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>&nbsp;observer)</code>
+<div class="block">Deregister for callbacks from this cluster matcher.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObserver</h4>
+<pre>public final&nbsp;void&nbsp;addObserver(<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>&nbsp;observer)</pre>
+<div class="block">Register for callbacks from this cluster matcher.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>observer</code> - The target of the callbacks.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>removeObserver</h4>
+<pre>public final&nbsp;void&nbsp;removeObserver(<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>&nbsp;observer)</pre>
+<div class="block">Deregister for callbacks from this cluster matcher.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>observer</code> - The callback target that is to be deregistered.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/AbstractClusterMatcher.html" target="_top">Frames</a></li>
+<li><a href="AbstractClusterMatcher.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html
new file mode 100644 (file)
index 0000000..8ef6cf2
--- /dev/null
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>AbstractSignatureDetector</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractSignatureDetector";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/AbstractSignatureDetector.html" target="_top">Frames</a></li>
+<li><a href="AbstractSignatureDetector.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.detection</div>
+<h2 title="Class AbstractSignatureDetector" class="title">Class AbstractSignatureDetector</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.AbstractSignatureDetector</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractSignatureDetector</span>
+extends java.lang.Object
+implements <a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></pre>
+<div class="block">TODO add class documentation.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html#AbstractSignatureDetector-java.util.List-">AbstractSignatureDetector</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.edu.uci.iotproject.detection.ClusterMatcherObserver">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;edu.uci.iotproject.detection.<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></h3>
+<code><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractSignatureDetector-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractSignatureDetector</h4>
+<pre>public&nbsp;AbstractSignatureDetector(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/AbstractSignatureDetector.html" target="_top">Frames</a></li>
+<li><a href="AbstractSignatureDetector.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html
new file mode 100644 (file)
index 0000000..b8e2c97
--- /dev/null
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>ClusterMatcherObserver</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ClusterMatcherObserver";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/ClusterMatcherObserver.html" target="_top">Frames</a></li>
+<li><a href="ClusterMatcherObserver.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.detection</div>
+<h2 title="Interface ClusterMatcherObserver" class="title">Interface ClusterMatcherObserver</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection">AbstractSignatureDetector</a>, <a href="../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a>, <a href="../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ClusterMatcherObserver</span></pre>
+<div class="block">Interface used by client code to register for receiving a notification whenever an <a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a>
+ detects traffic that matches an element of its associated cluster.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch</a></span>(<a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a>&nbsp;clusterMatcher,
+       java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;match)</code>
+<div class="block">Callback that is invoked by an <a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a> whenever it detects traffic that matches an element
+ of its associated cluster.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onMatch</h4>
+<pre>void&nbsp;onMatch(<a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a>&nbsp;clusterMatcher,
+             java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;match)</pre>
+<div class="block">Callback that is invoked by an <a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a> whenever it detects traffic that matches an element
+ of its associated cluster.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clusterMatcher</code> - The <a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a> that detected a match (i.e., classified traffic as
+                       pertaining to its associated cluster).</dd>
+<dd><code>match</code> - The traffic that was deemed to match the cluster associated with <code>clusterMatcher</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/ClusterMatcherObserver.html" target="_top">Frames</a></li>
+<li><a href="ClusterMatcherObserver.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html
new file mode 100644 (file)
index 0000000..d931a45
--- /dev/null
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>SignatureDetectorObserver</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SignatureDetectorObserver";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/SignatureDetectorObserver.html" target="_top">Frames</a></li>
+<li><a href="SignatureDetectorObserver.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.detection</div>
+<h2 title="Interface SignatureDetectorObserver" class="title">Interface SignatureDetectorObserver</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">SignatureDetectorObserver</span></pre>
+<div class="block">Used for registering for notifications from a signature detector.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html#onSignatureDetected-java.util.List-java.util.List-">onSignatureDetected</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
+                   java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;matchingTraffic)</code>
+<div class="block">Invoked when the signature detector has detected the presence of a signature in the traffic that it's examining.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="onSignatureDetected-java.util.List-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onSignatureDetected</h4>
+<pre>void&nbsp;onSignatureDetected(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
+                         java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;matchingTraffic)</pre>
+<div class="block">Invoked when the signature detector has detected the presence of a signature in the traffic that it's examining.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>searchedSignature</code> - The signature that the signature detector reporting the match is searching for.</dd>
+<dd><code>matchingTraffic</code> - The actual traffic trace that matches the searched signature.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/SignatureDetectorObserver.html" target="_top">Frames</a></li>
+<li><a href="SignatureDetectorObserver.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html
new file mode 100644 (file)
index 0000000..b5b9a45
--- /dev/null
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>Layer2AbstractMatcher</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Layer2AbstractMatcher";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2AbstractMatcher.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.detection.layer2</div>
+<h2 title="Class Layer2AbstractMatcher" class="title">Class Layer2AbstractMatcher</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a>, <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">Layer2AbstractMatcher</span>
+extends java.lang.Object</pre>
+<div class="block">Base class for layer 2 matchers (<code>Layer2SequenceMatcher</code> and <code>Layer2RangeMatcher</code>).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#Layer2AbstractMatcher-java.util.List-">Layer2AbstractMatcher</a></span>(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;sequence)</code>
+<div class="block">Create a <code>Layer2AbstractMatcher</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.pcap4j.core.PcapPacket</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getLastPacket--">getLastPacket</a></span>()</code>
+<div class="block">Utility for <code>getMatchedPackets().get(getMatchedPackets().size()-1)</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>java.util.List&lt;org.pcap4j.core.PcapPacket&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPackets--">getMatchedPackets</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPacketsCount--">getMatchedPacketsCount</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>abstract int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount</a></span>()</code>
+<div class="block">See the implementer class for the following method.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>abstract boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">See the implementer class for the following method.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Layer2AbstractMatcher-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2AbstractMatcher</h4>
+<pre>public&nbsp;Layer2AbstractMatcher(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;sequence)</pre>
+<div class="block">Create a <code>Layer2AbstractMatcher</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequence</code> - The sequence of the signature.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="matchPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>matchPacket</h4>
+<pre>public abstract&nbsp;boolean&nbsp;matchPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">See the implementer class for the following method.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if this <code>Layer2SequenceMatcher</code> could advance by adding <code>packet</code> to its set of
+         matched packets, <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTargetSequencePacketCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTargetSequencePacketCount</h4>
+<pre>public abstract&nbsp;int&nbsp;getTargetSequencePacketCount()</pre>
+<div class="block">See the implementer class for the following method.</div>
+</li>
+</ul>
+<a name="getMatchedPacketsCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMatchedPacketsCount</h4>
+<pre>public&nbsp;int&nbsp;getMatchedPacketsCount()</pre>
+</li>
+</ul>
+<a name="getMatchedPackets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMatchedPackets</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getMatchedPackets()</pre>
+</li>
+</ul>
+<a name="getLastPacket--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLastPacket</h4>
+<pre>public&nbsp;org.pcap4j.core.PcapPacket&nbsp;getLastPacket()</pre>
+<div class="block">Utility for <code>getMatchedPackets().get(getMatchedPackets().size()-1)</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The last matched packet, or <code>null</code> if no packets have been matched yet.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2AbstractMatcher.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html
new file mode 100644 (file)
index 0000000..e7ba886
--- /dev/null
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
+<title>Layer2ClusterMatcher</title>
+<meta name="date" content="2019-03-28">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Layer2ClusterMatcher";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2ClusterMatcher.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">edu.uci.iotproject.detection.layer2</div>
+<h2 title="Class Layer2ClusterMatcher" class="title">Class Layer2ClusterMatcher</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">edu.uci.iotproject.detection.AbstractClusterMatcher</a></li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.layer2.Layer2ClusterMatcher</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Layer2ClusterMatcher</span>
+extends <a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a>
+implements <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a></pre>
+<div class="block">Attempts to detect members of a cluster (packet sequence mutations) in layer 2 flows.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#Layer2ClusterMatcher-java.util.List-java.util.function.Function-int-boolean-double-">Layer2ClusterMatcher</a></span>(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;cluster,
+                    java.util.function.Function&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>,java.lang.Boolean&gt;&nbsp;flowFilter,
+                    int&nbsp;inclusionTimeMillis,
+                    boolean&nbsp;isRangeBased,
+                    double&nbsp;eps)</code>
+<div class="block">Create a new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> that attempts to find occurrences of <code>cluster</code>'s members.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#Layer2ClusterMatcher-java.util.List-int-boolean-double-">Layer2ClusterMatcher</a></span>(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;cluster,
+                    int&nbsp;inclusionTimeMillis,
+                    boolean&nbsp;isRangeBased,
+                    double&nbsp;eps)</code>
+<div class="block">Create a new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> that attempts to find occurrences of <code>cluster</code>'s members.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#onNewFlow-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-">onNewFlow</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a>&nbsp;reassembler,
+         <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&nbsp;newFlow)</code>
+<div class="block">Invoked when when a <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a> detects a new flow (i.e., when it encounters traffic between two
+ MAC addresses that has not previously communicated in the traffic trace).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">onNewPacket</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&nbsp;flow,
+           org.pcap4j.core.PcapPacket&nbsp;newPacket)</code>
+<div class="block">Invoked when a new packet is added to the observed flow.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.edu.uci.iotproject.detection.AbstractClusterMatcher">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;edu.uci.iotproject.detection.<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a></h3>
+<code><a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html#addObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">addObserver</a>, <a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html#removeObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">removeObserver</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Layer2ClusterMatcher-java.util.List-int-boolean-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Layer2ClusterMatcher</h4>
+<pre>public&nbsp;Layer2ClusterMatcher(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;cluster,
+                            int&nbsp;inclusionTimeMillis,
+                            boolean&nbsp;isRangeBased,
+                            double&nbsp;eps)</pre>
+<div class="block">Create a new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> that attempts to find occurrences of <code>cluster</code>'s members.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cluster</code> - The sequence mutations that the new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> should search for.</dd>
+</dl>
+</li>
+</ul>
+<a name="Layer2ClusterMatcher-java.util.List-java.util.function.Function-int-boolean-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2ClusterMatcher</h4>
+<pre>public&nbsp;Layer2ClusterMatcher(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;cluster,
+                            java.util.function.Function&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>,java.lang.Boolean&gt;&nbsp;flowFilter,
+                            int&nbsp;inclusionTimeMillis,
+                            boolean&nbsp;isRangeBased,
+                            double&nbsp;eps)</pre>
+<div class="block">Create a new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> that attempts to find occurrences of <code>cluster</code>'s members.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cluster</code> - The sequence mutations that the new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> should search for.</dd>
+<dd><code>flowFilter</code> - A filter that defines what <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2Flow</code></a>s the new <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> should
+                   search for <code>cluster</code>'s members in. If <code>flowFilter</code> returns <code>true</code>, the flow
+                   will be included (searched). Note that <code>flowFilter</code> is only queried once for each flow,
+                   namely when the <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a> notifies the <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2ClusterMatcher</code></a> about
+                   the new flow. This functionality may for example come in handy when one only wants to search
+                   for matches in the subset of flows that involves a specific (range of) MAC(s).</dd>
+<dd><code>inclusionTimeMillis</code> - Packet inclusion time limit for matching.</dd>
+<dd><code>isRangeBased</code> - The boolean that decides if it is range-based vs. strict matching.</dd>
+<dd><code>eps</code> - The epsilon value used in the DBSCAN algorithm.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onNewPacket</h4>
+<pre>public&nbsp;void&nbsp;onNewPacket(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&nbsp;flow,
+                        org.pcap4j.core.PcapPacket&nbsp;newPacket)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html#onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">Layer2FlowObserver</a></code></span></div>
+<div class="block">Invoked when a new packet is added to the observed flow.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html#onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">onNewPacket</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flow</code> - The observed flow.</dd>
+<dd><code>newPacket</code> - The packet that was added to the flow.</dd>
+</dl>
+</li>
+</ul>
+<a name="onNewFlow-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onNewFlow</h4>
+<pre>public&nbsp;void&nbsp;onNewFlow(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a>&nbsp;reassembler,
+                      <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&nbsp;newFlow)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html#onNewFlow-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-">Layer2FlowReassemblerObserver</a></code></span></div>
+<div class="block">Invoked when when a <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a> detects a new flow (i.e., when it encounters traffic between two
+ MAC addresses that has not previously communicated in the traffic trace).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html#onNewFlow-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-">onNewFlow</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>reassembler</code> - The <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a> that detected the new flow.</dd>
+<dd><code>newFlow</code> - The new flow.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-files/index-1.html">Index</a></li>
+<li><a href="../../../../../help-doc.htm