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.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_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/Layer2RangeMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html
new file mode 100644 (file)
index 0000000..887ca50
--- /dev/null
@@ -0,0 +1,360 @@
+<!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>Layer2RangeMatcher</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="Layer2RangeMatcher";
+        }
+    }
+    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><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.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/Layer2SequenceMatcher.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/Layer2RangeMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2RangeMatcher.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 Layer2RangeMatcher" class="title">Class Layer2RangeMatcher</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher</a></li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.layer2.Layer2RangeMatcher</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Layer2RangeMatcher</span>
+extends <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></pre>
+<div class="block">Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls
+ to <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-"><code>matchPacket(PcapPacket)</code></a>, considering only layer 2 information. This class has the same flavor as the
+ <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><code>Layer2SequenceMatcher</code></a> class.</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/Layer2RangeMatcher.html#Layer2RangeMatcher-java.util.List-java.util.List-int-double-">Layer2RangeMatcher</a></span>(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;lowerBound,
+                  java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;upperBound,
+                  int&nbsp;inclusionTimeMillis,
+                  double&nbsp;eps)</code>
+<div class="block">Create a <code>Layer2RangeMatcher</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="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.List&lt;org.pcap4j.core.PcapPacket&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#getTargetLowerBound--">getTargetLowerBound</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount</a></span>()</code>
+<div class="block">See the implementer class for the following method.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<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/Layer2RangeMatcher.html#getTargetUpperBound--">getTargetUpperBound</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Attempt to advance this <code>Layer2RangeMatcher</code> by matching <code>packet</code> against the packet that this
+ <code>Layer2RangeMatcher</code> expects as the next packet of the sequence it is searching for.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></h3>
+<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getLastPacket--">getLastPacket</a>, <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPackets--">getMatchedPackets</a>, <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPacketsCount--">getMatchedPacketsCount</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="Layer2RangeMatcher-java.util.List-java.util.List-int-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2RangeMatcher</h4>
+<pre>public&nbsp;Layer2RangeMatcher(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;lowerBound,
+                          java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;upperBound,
+                          int&nbsp;inclusionTimeMillis,
+                          double&nbsp;eps)</pre>
+<div class="block">Create a <code>Layer2RangeMatcher</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerBound</code> - The lower bound of the sequence to match against (search for).</dd>
+<dd><code>upperBound</code> - The upper bound of the sequence to match against (search for).</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="matchPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>matchPacket</h4>
+<pre>public&nbsp;boolean&nbsp;matchPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Attempt to advance this <code>Layer2RangeMatcher</code> by matching <code>packet</code> against the packet that this
+ <code>Layer2RangeMatcher</code> expects as the next packet of the sequence it is searching for.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></code></dd>
+<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&nbsp;int&nbsp;getTargetSequencePacketCount()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getTargetSequencePacketCount--">Layer2AbstractMatcher</a></code></span></div>
+<div class="block">See the implementer class for the following method.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTargetLowerBound--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTargetLowerBound</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getTargetLowerBound()</pre>
+</li>
+</ul>
+<a name="getTargetUpperBound--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTargetUpperBound</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getTargetUpperBound()</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/layer2/Layer2ClusterMatcher.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/Layer2SequenceMatcher.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/Layer2RangeMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2RangeMatcher.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/Layer2SequenceMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html
new file mode 100644 (file)
index 0000000..2987c3f
--- /dev/null
@@ -0,0 +1,340 @@
+<!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>Layer2SequenceMatcher</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="Layer2SequenceMatcher";
+        }
+    }
+    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/detection/layer2/Layer2RangeMatcher.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/Layer2SignatureDetector.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/Layer2SequenceMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2SequenceMatcher.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 Layer2SequenceMatcher" class="title">Class Layer2SequenceMatcher</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher</a></li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.layer2.Layer2SequenceMatcher</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Layer2SequenceMatcher</span>
+extends <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></pre>
+<div class="block">Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls
+ to <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-"><code>matchPacket(PcapPacket)</code></a>, considering only layer 2 information.</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/Layer2SequenceMatcher.html#Layer2SequenceMatcher-java.util.List-int-">Layer2SequenceMatcher</a></span>(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;sequence,
+                     int&nbsp;inclusionTimeMillis)</code>
+<div class="block">Create a <code>Layer2SequenceMatcher</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="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.List&lt;org.pcap4j.core.PcapPacket&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#getTargetSequence--">getTargetSequence</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount</a></span>()</code>
+<div class="block">See the implementer class for the following method.</div>
+</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/detection/layer2/Layer2SequenceMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Attempt to advance this <code>Layer2SequenceMatcher</code> by matching <code>packet</code> against the packet that this
+ <code>Layer2SequenceMatcher</code> expects as the next packet of the sequence it is searching for.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></h3>
+<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getLastPacket--">getLastPacket</a>, <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPackets--">getMatchedPackets</a>, <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPacketsCount--">getMatchedPacketsCount</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="Layer2SequenceMatcher-java.util.List-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2SequenceMatcher</h4>
+<pre>public&nbsp;Layer2SequenceMatcher(java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;sequence,
+                             int&nbsp;inclusionTimeMillis)</pre>
+<div class="block">Create a <code>Layer2SequenceMatcher</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sequence</code> - The sequence to match against (search for).</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&nbsp;boolean&nbsp;matchPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Attempt to advance this <code>Layer2SequenceMatcher</code> by matching <code>packet</code> against the packet that this
+ <code>Layer2SequenceMatcher</code> expects as the next packet of the sequence it is searching for.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></code></dd>
+<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&nbsp;int&nbsp;getTargetSequencePacketCount()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getTargetSequencePacketCount--">Layer2AbstractMatcher</a></code></span></div>
+<div class="block">See the implementer class for the following method.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getTargetSequence--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTargetSequence</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getTargetSequence()</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/layer2/Layer2RangeMatcher.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/Layer2SignatureDetector.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/Layer2SequenceMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer2SequenceMatcher.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/Layer2SignatureDetector.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html
new file mode 100644 (file)
index 0000000..e9f87c9
--- /dev/null
@@ -0,0 +1,382 @@
+<!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>Layer2SignatureDetector</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="Layer2SignatureDetector";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":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/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><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/layer2/Layer2SignatureDetector.html" target="_top">Frames</a></li>
+<li><a href="Layer2SignatureDetector.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 Layer2SignatureDetector" class="title">Class Layer2SignatureDetector</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.layer2.Layer2SignatureDetector</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>, org.pcap4j.core.PacketListener</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Layer2SignatureDetector</span>
+extends java.lang.Object
+implements org.pcap4j.core.PacketListener, <a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></pre>
+<div class="block">Performs layer 2 signature detection.</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/Layer2SignatureDetector.html#Layer2SignatureDetector-java.util.List-int-boolean-double-">Layer2SignatureDetector</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
+                       int&nbsp;signatureDuration,
+                       boolean&nbsp;isRangeBased,
+                       double&nbsp;eps)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#Layer2SignatureDetector-java.util.List-java.util.List-int-boolean-double-">Layer2SignatureDetector</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.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;&gt;&nbsp;flowFilters,
+                       int&nbsp;inclusionTimeMillis,
+                       boolean&nbsp;isRangeBased,
+                       double&nbsp;eps)</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#addObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">addObserver</a></span>(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a>&nbsp;observer)</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/detection/layer2/Layer2SignatureDetector.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>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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/detection/layer2/Layer2SignatureDetector.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>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#removeObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">removeObserver</a></span>(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a>&nbsp;observer)</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="Layer2SignatureDetector-java.util.List-int-boolean-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Layer2SignatureDetector</h4>
+<pre>public&nbsp;Layer2SignatureDetector(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
+                               int&nbsp;signatureDuration,
+                               boolean&nbsp;isRangeBased,
+                               double&nbsp;eps)</pre>
+</li>
+</ul>
+<a name="Layer2SignatureDetector-java.util.List-java.util.List-int-boolean-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2SignatureDetector</h4>
+<pre>public&nbsp;Layer2SignatureDetector(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.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;&gt;&nbsp;flowFilters,
+                               int&nbsp;inclusionTimeMillis,
+                               boolean&nbsp;isRangeBased,
+                               double&nbsp;eps)</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="blockList">
+<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.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.IOException</code></dd>
+</dl>
+</li>
+</ul>
+<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="onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>onMatch</h4>
+<pre>public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">ClusterMatcherObserver</a></code></span></div>
+<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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></code></dd>
+<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>
+<a name="addObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObserver</h4>
+<pre>public&nbsp;void&nbsp;addObserver(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a>&nbsp;observer)</pre>
+</li>
+</ul>
+<a name="removeObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>removeObserver</h4>
+<pre>public&nbsp;boolean&nbsp;removeObserver(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a>&nbsp;observer)</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/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><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/layer2/Layer2SignatureDetector.html" target="_top">Frames</a></li>
+<li><a href="Layer2SignatureDetector.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/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-frame.html
new file mode 100644 (file)
index 0000000..1a67fb5
--- /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:27:00 PDT 2019 -->
+<title>edu.uci.iotproject.detection.layer2</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/detection/layer2/package-summary.html" target="classFrame">edu.uci.iotproject.detection.layer2</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2AbstractMatcher</a></li>
+<li><a href="Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2ClusterMatcher</a></li>
+<li><a href="Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2RangeMatcher</a></li>
+<li><a href="Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2SequenceMatcher</a></li>
+<li><a href="Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2" target="classFrame">Layer2SignatureDetector</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html
new file mode 100644 (file)
index 0000000..9c11d2d
--- /dev/null
@@ -0,0 +1,168 @@
+<!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.detection.layer2</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.detection.layer2";
+        }
+    }
+    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/detection/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer3/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/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.detection.layer2</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/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></td>
+<td class="colLast">
+<div class="block">Base class for layer 2 matchers (<code>Layer2SequenceMatcher</code> and <code>Layer2RangeMatcher</code>).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></td>
+<td class="colLast">
+<div class="block">Attempts to detect members of a cluster (packet sequence mutations) in layer 2 flows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></td>
+<td class="colLast">
+<div class="block">Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls
+ to <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-"><code>Layer2RangeMatcher.matchPacket(PcapPacket)</code></a>, considering only layer 2 information.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></td>
+<td class="colLast">
+<div class="block">Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls
+ to <a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-"><code>Layer2SequenceMatcher.matchPacket(PcapPacket)</code></a>, considering only layer 2 information.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></td>
+<td class="colLast">
+<div class="block">Performs layer 2 signature detection.</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/detection/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer3/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/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/detection/layer2/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-tree.html
new file mode 100644 (file)
index 0000000..3e7e113
--- /dev/null
@@ -0,0 +1,146 @@
+<!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.detection.layer2 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.detection.layer2 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/detection/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer3/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/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.detection.layer2</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.detection.<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractClusterMatcher</span></a>
+<ul>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2ClusterMatcher</span></a> (implements edu.uci.iotproject.trafficreassembly.layer2.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>, edu.uci.iotproject.trafficreassembly.layer2.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>)</li>
+</ul>
+</li>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2AbstractMatcher</span></a>
+<ul>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2RangeMatcher</span></a></li>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2SequenceMatcher</span></a></li>
+</ul>
+</li>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2SignatureDetector</span></a> (implements edu.uci.iotproject.detection.<a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>, org.pcap4j.core.PacketListener)</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/detection/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/detection/layer3/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/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/layer3/Layer3ClusterMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html
new file mode 100644 (file)
index 0000000..d68e053
--- /dev/null
@@ -0,0 +1,364 @@
+<!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>Layer3ClusterMatcher</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="Layer3ClusterMatcher";
+        }
+    }
+    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/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer3ClusterMatcher.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.layer3</div>
+<h2 title="Class Layer3ClusterMatcher" class="title">Class Layer3ClusterMatcher</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.layer3.Layer3ClusterMatcher</li>
+</ul>
+</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">Layer3ClusterMatcher</span>
+extends <a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a>
+implements org.pcap4j.core.PacketListener</pre>
+<div class="block">Searches a traffic trace for sequences of packets "belong to" a given cluster (in other words, attempts to classify
+ traffic as pertaining to a given cluster).</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/layer3/Layer3ClusterMatcher.html#Layer3ClusterMatcher-java.util.List-java.lang.String-int-boolean-double-edu.uci.iotproject.detection.ClusterMatcherObserver...-">Layer3ClusterMatcher</a></span>(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;cluster,
+                    java.lang.String&nbsp;routerWanIp,
+                    int&nbsp;inclusionTimeMillis,
+                    boolean&nbsp;isRangeBased,
+                    double&nbsp;eps,
+                    <a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>...&nbsp;detectionObservers)</code>
+<div class="block">Create a <a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</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>java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#getCluster--">getCluster</a></span>()</code>
+<div class="block">Get the cluster that describes the packet sequence that this <a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a> is searching for.</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/layer3/Layer3ClusterMatcher.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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#performDetectionConservative--">performDetectionConservative</a></span>()</code>&nbsp;</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/detection/layer3/Layer3ClusterMatcher.html#performDetectionRangeBased--">performDetectionRangeBased</a></span>()</code>&nbsp;</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="Layer3ClusterMatcher-java.util.List-java.lang.String-int-boolean-double-edu.uci.iotproject.detection.ClusterMatcherObserver...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer3ClusterMatcher</h4>
+<pre>public&nbsp;Layer3ClusterMatcher(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;cluster,
+                            java.lang.String&nbsp;routerWanIp,
+                            int&nbsp;inclusionTimeMillis,
+                            boolean&nbsp;isRangeBased,
+                            double&nbsp;eps,
+                            <a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>...&nbsp;detectionObservers)</pre>
+<div class="block">Create a <a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cluster</code> - The cluster that traffic is matched against.</dd>
+<dd><code>routerWanIp</code> - The router's WAN IP if examining traffic captured at the ISP's point of view (used for
+                    determining the direction of packets).</dd>
+<dd><code>inclusionTimeMillis</code> - The packet inclusion time for signature.</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>
+<dd><code>detectionObservers</code> - Client code that wants to get notified whenever the <a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a> detects that
+                          (a subset of) the examined traffic is similar to the traffic that makes up
+                          <code>cluster</code>, i.e., when the examined traffic is classified as pertaining to
+                          <code>cluster</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="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="getCluster--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCluster</h4>
+<pre>public&nbsp;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;getCluster()</pre>
+<div class="block">Get the cluster that describes the packet sequence that this <a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a> is searching for.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cluster that describes the packet sequence that this <a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a> is searching for.</dd>
+</dl>
+</li>
+</ul>
+<a name="performDetectionRangeBased--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>performDetectionRangeBased</h4>
+<pre>public&nbsp;void&nbsp;performDetectionRangeBased()</pre>
+</li>
+</ul>
+<a name="performDetectionConservative--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>performDetectionConservative</h4>
+<pre>public&nbsp;void&nbsp;performDetectionConservative()</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/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" target="_top">Frames</a></li>
+<li><a href="Layer3ClusterMatcher.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/layer3/Layer3SignatureDetector.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html
new file mode 100644 (file)
index 0000000..fc3e96c
--- /dev/null
@@ -0,0 +1,387 @@
+<!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>Layer3SignatureDetector</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="Layer3SignatureDetector";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":9,"i5":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/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><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/layer3/Layer3SignatureDetector.html" target="_top">Frames</a></li>
+<li><a href="Layer3SignatureDetector.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.layer3</div>
+<h2 title="Class Layer3SignatureDetector" class="title">Class Layer3SignatureDetector</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.detection.layer3.Layer3SignatureDetector</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>, org.pcap4j.core.PacketListener</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Layer3SignatureDetector</span>
+extends java.lang.Object
+implements org.pcap4j.core.PacketListener, <a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></pre>
+<div class="block">Detects an event signature that spans one or multiple TCP connections.</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/layer3/Layer3SignatureDetector.html#Layer3SignatureDetector-java.util.List-java.lang.String-int-boolean-double-">Layer3SignatureDetector</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
+                       java.lang.String&nbsp;routerWanIp,
+                       int&nbsp;inclusionTimeMillis,
+                       boolean&nbsp;isRangeBased,
+                       double&nbsp;eps)</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#addObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">addObserver</a></span>(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver&nbsp;observer)</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/detection/layer3/Layer3SignatureDetector.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>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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/detection/layer3/Layer3SignatureDetector.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>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#removeDuplicates-java.util.List-">removeDuplicates</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;listUserAction)</code>
+<div class="block">Remove duplicates in <code>List</code> of <code>UserAction</code> objects.</div>
+</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/detection/layer3/Layer3SignatureDetector.html#removeObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">removeObserver</a></span>(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver&nbsp;observer)</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="Layer3SignatureDetector-java.util.List-java.lang.String-int-boolean-double-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer3SignatureDetector</h4>
+<pre>public&nbsp;Layer3SignatureDetector(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
+                               java.lang.String&nbsp;routerWanIp,
+                               int&nbsp;inclusionTimeMillis,
+                               boolean&nbsp;isRangeBased,
+                               double&nbsp;eps)</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="blockList">
+<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.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.IOException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="removeDuplicates-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeDuplicates</h4>
+<pre>public static&nbsp;java.util.List&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;removeDuplicates(java.util.List&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;listUserAction)</pre>
+<div class="block">Remove duplicates in <code>List</code> of <code>UserAction</code> objects. We need to clean this up for user actions
+ that appear multiple times.
+ TODO: This static method is probably just for temporary and we could get rid of this after we clean up
+ TODO:    the pipeline</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listUserAction</code> - A <code>List</code> of <code>UserAction</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="addObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObserver</h4>
+<pre>public&nbsp;void&nbsp;addObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver&nbsp;observer)</pre>
+</li>
+</ul>
+<a name="removeObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeObserver</h4>
+<pre>public&nbsp;boolean&nbsp;removeObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver&nbsp;observer)</pre>
+</li>
+</ul>
+<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="onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onMatch</h4>
+<pre>public&nbsp;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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">ClusterMatcherObserver</a></code></span></div>
+<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="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></code></dd>
+<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/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><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/layer3/Layer3SignatureDetector.html" target="_top">Frames</a></li>
+<li><a href="Layer3SignatureDetector.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/layer3/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-frame.html
new file mode 100644 (file)
index 0000000..51cf3b1
--- /dev/null
@@ -0,0 +1,21 @@
+<!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.detection.layer3</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/detection/layer3/package-summary.html" target="classFrame">edu.uci.iotproject.detection.layer3</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3" target="classFrame">Layer3ClusterMatcher</a></li>
+<li><a href="Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3" target="classFrame">Layer3SignatureDetector</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html
new file mode 100644 (file)
index 0000000..47fb8b6
--- /dev/null
@@ -0,0 +1,149 @@
+<!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.detection.layer3</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.detection.layer3";
+        }
+    }
+    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/detection/layer2/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/evaluation/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/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.detection.layer3</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/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></td>
+<td class="colLast">
+<div class="block">Searches a traffic trace for sequences of packets "belong to" a given cluster (in other words, attempts to classify
+ traffic as pertaining to a given cluster).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></td>
+<td class="colLast">
+<div class="block">Detects an event signature that spans one or multiple TCP connections.</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/detection/layer2/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/evaluation/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/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/detection/layer3/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-tree.html
new file mode 100644 (file)
index 0000000..5a59413
--- /dev/null
@@ -0,0 +1,140 @@
+<!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.detection.layer3 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.detection.layer3 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/detection/layer2/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/evaluation/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/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.detection.layer3</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.detection.<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractClusterMatcher</span></a>
+<ul>
+<li type="circle">edu.uci.iotproject.detection.layer3.<a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Layer3ClusterMatcher</span></a> (implements org.pcap4j.core.PacketListener)</li>
+</ul>
+</li>
+<li type="circle">edu.uci.iotproject.detection.layer3.<a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Layer3SignatureDetector</span></a> (implements edu.uci.iotproject.detection.<a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>, org.pcap4j.core.PacketListener)</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/detection/layer2/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/evaluation/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/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/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-frame.html
new file mode 100644 (file)
index 0000000..ffdcba4
--- /dev/null
@@ -0,0 +1,26 @@
+<!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.detection</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/detection/package-summary.html" target="classFrame">edu.uci.iotproject.detection</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection" target="classFrame"><span class="interfaceName">ClusterMatcherObserver</span></a></li>
+<li><a href="SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection" target="classFrame"><span class="interfaceName">SignatureDetectorObserver</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection" target="classFrame">AbstractClusterMatcher</a></li>
+<li><a href="AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection" target="classFrame">AbstractSignatureDetector</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html
new file mode 100644 (file)
index 0000000..b756771
--- /dev/null
@@ -0,0 +1,173 @@
+<!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.detection</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.detection";
+        }
+    }
+    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/comparison/seqalignment/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/layer2/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/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.detection</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/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></td>
+<td class="colLast">
+<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>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a></td>
+<td class="colLast">
+<div class="block">Used for registering for notifications from a signature detector.</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/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a></td>
+<td class="colLast">
+<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>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection">AbstractSignatureDetector</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/comparison/seqalignment/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/layer2/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/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/detection/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-tree.html
new file mode 100644 (file)
index 0000000..980746c
--- /dev/null
@@ -0,0 +1,141 @@
+<!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.detection 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.detection 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/comparison/seqalignment/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/layer2/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/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.detection</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.detection.<a href="../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractClusterMatcher</span></a></li>
+<li type="circle">edu.uci.iotproject.detection.<a href="../../../../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractSignatureDetector</span></a> (implements edu.uci.iotproject.detection.<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">edu.uci.iotproject.detection.<a href="../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">ClusterMatcherObserver</span></a></li>
+<li type="circle">edu.uci.iotproject.detection.<a href="../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">SignatureDetectorObserver</span></a></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/comparison/seqalignment/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/detection/layer2/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/detection/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/evaluation/DetectionResultsAnalyzer.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html
new file mode 100644 (file)
index 0000000..de76d40
--- /dev/null
@@ -0,0 +1,275 @@
+<!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>DetectionResultsAnalyzer</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="DetectionResultsAnalyzer";
+        }
+    }
+    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>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" target="_top">Frames</a></li>
+<li><a href="DetectionResultsAnalyzer.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.evaluation</div>
+<h2 title="Class DetectionResultsAnalyzer" class="title">Class DetectionResultsAnalyzer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.evaluation.DetectionResultsAnalyzer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DetectionResultsAnalyzer</span>
+extends java.lang.Object</pre>
+<div class="block">Utility for comparing detected events to logged (actual) events.</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/evaluation/DetectionResultsAnalyzer.html#DetectionResultsAnalyzer--">DetectionResultsAnalyzer</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/evaluation/DetectionResultsAnalyzer.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="DetectionResultsAnalyzer--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DetectionResultsAnalyzer</h4>
+<pre>public&nbsp;DetectionResultsAnalyzer()</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 java.io.IOException</pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<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>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" target="_top">Frames</a></li>
+<li><a href="DetectionResultsAnalyzer.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/evaluation/SanitySignatureGenerator.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/SanitySignatureGenerator.html
new file mode 100644 (file)
index 0000000..4136289
--- /dev/null
@@ -0,0 +1,286 @@
+<!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>SanitySignatureGenerator</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="SanitySignatureGenerator";
+        }
+    }
+    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/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation"><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/evaluation/SanitySignatureGenerator.html" target="_top">Frames</a></li>
+<li><a href="SanitySignatureGenerator.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.evaluation</div>
+<h2 title="Class SanitySignatureGenerator" class="title">Class SanitySignatureGenerator</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.evaluation.SanitySignatureGenerator</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SanitySignatureGenerator</span>
+extends java.lang.Object</pre>
+<div class="block">Hacky utility for producing a sanity signature for negative test sets.
+ <p>
+ More precisely, given information about packet lengths and packet directions known to be present in an input trace,
+ this class locates the first occurrence of a matching sequence in the input trace and outputs it to a file in the
+ signature format (i.e., a <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code>.
+ </p>
+ <p>
+     Note: can only produce simplistic signatures, i.e., a signature that is a <em>single</em> packet sequence that
+     occurs on a single TCP connection.
+ </p></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/evaluation/SanitySignatureGenerator.html#SanitySignatureGenerator--">SanitySignatureGenerator</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/evaluation/SanitySignatureGenerator.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="SanitySignatureGenerator--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SanitySignatureGenerator</h4>
+<pre>public&nbsp;SanitySignatureGenerator()</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</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>
+</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/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation"><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/evaluation/SanitySignatureGenerator.html" target="_top">Frames</a></li>
+<li><a href="SanitySignatureGenerator.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/evaluation/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-frame.html
new file mode 100644 (file)
index 0000000..ba45f85
--- /dev/null
@@ -0,0 +1,21 @@
+<!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.evaluation</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/evaluation/package-summary.html" target="classFrame">edu.uci.iotproject.evaluation</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation" target="classFrame">DetectionResultsAnalyzer</a></li>
+<li><a href="SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation" target="classFrame">SanitySignatureGenerator</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html
new file mode 100644 (file)
index 0000000..1ac3ef5
--- /dev/null
@@ -0,0 +1,148 @@
+<!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.evaluation</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.evaluation";
+        }
+    }
+    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/detection/layer3/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/io/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/evaluation/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.evaluation</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/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation">DetectionResultsAnalyzer</a></td>
+<td class="colLast">
+<div class="block">Utility for comparing detected events to logged (actual) events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation">SanitySignatureGenerator</a></td>
+<td class="colLast">
+<div class="block">Hacky utility for producing a sanity signature for negative test sets.</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/detection/layer3/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/io/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/evaluation/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/evaluation/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-tree.html
new file mode 100644 (file)
index 0000000..7d9e245
--- /dev/null
@@ -0,0 +1,136 @@
+<!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.evaluation 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.evaluation 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/detection/layer3/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/io/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/evaluation/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.evaluation</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.evaluation.<a href="../../../../edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">DetectionResultsAnalyzer</span></a></li>
+<li type="circle">edu.uci.iotproject.evaluation.<a href="../../../../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">SanitySignatureGenerator</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/detection/layer3/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/io/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/evaluation/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/io/LiveCapture.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/LiveCapture.html
new file mode 100644 (file)
index 0000000..6759367
--- /dev/null
@@ -0,0 +1,337 @@
+<!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>LiveCapture</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="LiveCapture";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":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>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/LiveCapture.html" target="_top">Frames</a></li>
+<li><a href="LiveCapture.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.io</div>
+<h2 title="Class LiveCapture" class="title">Class LiveCapture</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.io.LiveCapture</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LiveCapture</span>
+extends java.lang.Object</pre>
+<div class="block">Utility methods for setting up a <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that reads live traffic from a network interface card.</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/io/LiveCapture.html#LiveCapture--">LiveCapture</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/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/LiveCapture.html#fromCliNicSelection-org.pcap4j.core.PacketListener...-">fromCliNicSelection</a></span>(org.pcap4j.core.PacketListener...&nbsp;listeners)</code>
+<div class="block">Prompts the user to pick a Network Interface Card (NIC) for which live traffic is to be captured, then creates a
+ <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from that NIC.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/LiveCapture.html#fromNic-org.pcap4j.core.PcapNetworkInterface-org.pcap4j.core.PacketListener...-">fromNic</a></span>(org.pcap4j.core.PcapNetworkInterface&nbsp;networkInterface,
+       org.pcap4j.core.PacketListener...&nbsp;listeners)</code>
+<div class="block">Creates a <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from the provided Network
+ Interface Card (NIC).</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/LiveCapture.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="LiveCapture--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LiveCapture</h4>
+<pre>public&nbsp;LiveCapture()</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="blockList">
+<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.lang.InterruptedException</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.lang.InterruptedException</code></dd>
+</dl>
+</li>
+</ul>
+<a name="fromCliNicSelection-org.pcap4j.core.PacketListener...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fromCliNicSelection</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a>&nbsp;fromCliNicSelection(org.pcap4j.core.PacketListener...&nbsp;listeners)
+                                            throws org.pcap4j.core.PcapNativeException</pre>
+<div class="block">Prompts the user to pick a Network Interface Card (NIC) for which live traffic is to be captured, then creates a
+ <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from that NIC.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listeners</code> - One or more <code>PacketListener</code>s to which packets read from the NIC will be delivered.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from the selected NIC or
+         <code>null</code> if no NICs can be found.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.pcap4j.core.PcapNativeException</code> - if an error occurs in the pcap native library.</dd>
+</dl>
+</li>
+</ul>
+<a name="fromNic-org.pcap4j.core.PcapNetworkInterface-org.pcap4j.core.PacketListener...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>fromNic</h4>
+<pre>public static&nbsp;<a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a>&nbsp;fromNic(org.pcap4j.core.PcapNetworkInterface&nbsp;networkInterface,
+                                       org.pcap4j.core.PacketListener...&nbsp;listeners)
+                                throws org.pcap4j.core.PcapNativeException</pre>
+<div class="block">Creates a <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from the provided Network
+ Interface Card (NIC).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>networkInterface</code> - The target NIC.</dd>
+<dd><code>listeners</code> - One or more <code>PacketListener</code>s to which packets read from the NIC will be delivered.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from the provided NIC.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.pcap4j.core.PcapNativeException</code> - if an error occurs in the pcap native library.</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/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/LiveCapture.html" target="_top">Frames</a></li>
+<li><a href="LiveCapture.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/io/PcapHandleReader.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PcapHandleReader.html
new file mode 100644 (file)
index 0000000..fc513b3
--- /dev/null
@@ -0,0 +1,341 @@
+<!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>PcapHandleReader</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="PcapHandleReader";
+        }
+    }
+    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/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/PcapHandleReader.html" target="_top">Frames</a></li>
+<li><a href="PcapHandleReader.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.io</div>
+<h2 title="Class PcapHandleReader" class="title">Class PcapHandleReader</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.io.PcapHandleReader</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PcapHandleReader</span>
+extends java.lang.Object</pre>
+<div class="block">Reads packets from a <code>PcapHandle</code> (online or offline) and delivers those packets that pass the test exercised
+ by the provided <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><code>PcapPacketFilter</code></a> onto the provided <code>PacketListener</code>s.</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/io/PcapHandleReader.html#PcapHandleReader-org.pcap4j.core.PcapHandle-edu.uci.iotproject.analysis.PcapPacketFilter-org.pcap4j.core.PacketListener...-">PcapHandleReader</a></span>(org.pcap4j.core.PcapHandle&nbsp;handle,
+                <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a>&nbsp;packetFilter,
+                org.pcap4j.core.PacketListener...&nbsp;packetListeners)</code>
+<div class="block">Create a <code>PcapHandleReader</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="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/io/PcapHandleReader.html#hasTerminated--">hasTerminated</a></span>()</code>
+<div class="block">Checks if this <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> has gracefully terminated, i.e., that the wrapped <code>PcapHandle</code> has
+ been closed.</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/io/PcapHandleReader.html#readFromHandle--">readFromHandle</a></span>()</code>
+<div class="block">Start reading (and filtering) packets from the provided <code>PcapHandle</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#stopReading--">stopReading</a></span>()</code>
+<div class="block">Stop reading from the wrapped <code>PcapHandle</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="PcapHandleReader-org.pcap4j.core.PcapHandle-edu.uci.iotproject.analysis.PcapPacketFilter-org.pcap4j.core.PacketListener...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PcapHandleReader</h4>
+<pre>public&nbsp;PcapHandleReader(org.pcap4j.core.PcapHandle&nbsp;handle,
+                        <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a>&nbsp;packetFilter,
+                        org.pcap4j.core.PacketListener...&nbsp;packetListeners)</pre>
+<div class="block">Create a <code>PcapHandleReader</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>handle</code> - An <em>open</em> <code>PcapHandle</code> that packets will be read from.</dd>
+<dd><code>packetFilter</code> - A <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><code>PcapPacketFilter</code></a> that dictates which of the packets read from <code>handle</code> should
+                     be delivered to <code>packetListeners</code>. Note that while a value of <code>null</code> is not
+                     permitted here, the caller can instead simply provide an implementation that always returns
+                     <code>true</code> if they want to include all packets read from <code>handle</code>.</dd>
+<dd><code>packetListeners</code> - One or more <code>PacketListener</code>s to which those packets read from <code>handle</code> that
+                        pass through <code>packetFilter</code> are delivered.</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="readFromHandle--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readFromHandle</h4>
+<pre>public&nbsp;void&nbsp;readFromHandle()
+                    throws org.pcap4j.core.PcapNativeException,
+                           org.pcap4j.core.NotOpenException</pre>
+<div class="block">Start reading (and filtering) packets from the provided <code>PcapHandle</code>.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.pcap4j.core.PcapNativeException</code> - if an error occurs in the pcap native library.</dd>
+<dd><code>org.pcap4j.core.NotOpenException</code> - if the provided <code>PcapHandle</code> is not open.</dd>
+</dl>
+</li>
+</ul>
+<a name="stopReading--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stopReading</h4>
+<pre>public&nbsp;void&nbsp;stopReading()</pre>
+<div class="block">Stop reading from the wrapped <code>PcapHandle</code>. Note that this call only <em>initiates</em> the shutdown by
+ setting a termination flag. Shutdown will be deferred until the time at which this flag can be checked by
+ <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#readFromHandle--"><code>readFromHandle()</code></a>. For example, if <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#readFromHandle--"><code>readFromHandle()</code></a> is currently in the middle of a blocking
+ call to <code>PcapHandle.getNextPacketEx()</code>, shutdown will not occur until the next packet is returned from the
+ wrapped <code>PcapHandle</code> or its read timeout expires. Use <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#hasTerminated--"><code>hasTerminated()</code></a> to check if the shutdown
+ has completed.</div>
+</li>
+</ul>
+<a name="hasTerminated--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hasTerminated</h4>
+<pre>public&nbsp;boolean&nbsp;hasTerminated()</pre>
+<div class="block">Checks if this <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> has gracefully terminated, i.e., that the wrapped <code>PcapHandle</code> has
+ been closed.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if this <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> has terminated, <code>false</code> otherwise.</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/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/PcapHandleReader.html" target="_top">Frames</a></li>
+<li><a href="PcapHandleReader.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/io/PrintWriterUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PrintWriterUtils.html
new file mode 100644 (file)
index 0000000..8646f10
--- /dev/null
@@ -0,0 +1,302 @@
+<!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>PrintWriterUtils</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="PrintWriterUtils";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":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/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/PrintWriterUtils.html" target="_top">Frames</a></li>
+<li><a href="PrintWriterUtils.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.io</div>
+<h2 title="Class PrintWriterUtils" class="title">Class PrintWriterUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.io.PrintWriterUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">PrintWriterUtils</span>
+extends java.lang.Object</pre>
+<div class="block">Utility methods for (jointly) printing to a <code>PrintWriter</code> (and standard output).</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="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/io/PrintWriterUtils.html#print-java.lang.Object-java.io.PrintWriter-boolean-">print</a></span>(java.lang.Object&nbsp;line,
+     java.io.PrintWriter&nbsp;writer,
+     boolean&nbsp;duplicateToStdOut)</code>
+<div class="block">Invoke <code>PrintWriter.println(Object)</code> passing <code>line</code> as argument while also printing <code>line</code> to
+ standard output if <code>duplicateToStdOut</code> is <code>true</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html#printEmptyLine-java.io.PrintWriter-boolean-">printEmptyLine</a></span>(java.io.PrintWriter&nbsp;writer,
+              boolean&nbsp;duplicateToStdOut)</code>
+<div class="block">Make writer (and standard output, if <code>duplicateToStdOut</code> is <code>true</code>) print an empty line.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html#println-java.lang.Object-java.io.PrintWriter-boolean-">println</a></span>(java.lang.Object&nbsp;line,
+       java.io.PrintWriter&nbsp;writer,
+       boolean&nbsp;duplicateToStdOut)</code>
+<div class="block">Invoke <code>PrintWriter.println(Object)</code> passing <code>line</code> as argument while also printing <code>line</code> to
+ standard output if <code>duplicateToStdOut</code> is <code>true</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">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="println-java.lang.Object-java.io.PrintWriter-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>println</h4>
+<pre>public static&nbsp;void&nbsp;println(java.lang.Object&nbsp;line,
+                           java.io.PrintWriter&nbsp;writer,
+                           boolean&nbsp;duplicateToStdOut)</pre>
+<div class="block">Invoke <code>PrintWriter.println(Object)</code> passing <code>line</code> as argument while also printing <code>line</code> to
+ standard output if <code>duplicateToStdOut</code> is <code>true</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>line</code> - The line to be printed.</dd>
+<dd><code>writer</code> - The <code>PrintWriter</code> that is to print <code>line</code>.</dd>
+<dd><code>duplicateToStdOut</code> - Set to <code>true</code> if <code>line</code> should also be printed in standard output.</dd>
+</dl>
+</li>
+</ul>
+<a name="print-java.lang.Object-java.io.PrintWriter-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>print</h4>
+<pre>public static&nbsp;void&nbsp;print(java.lang.Object&nbsp;line,
+                         java.io.PrintWriter&nbsp;writer,
+                         boolean&nbsp;duplicateToStdOut)</pre>
+<div class="block">Invoke <code>PrintWriter.println(Object)</code> passing <code>line</code> as argument while also printing <code>line</code> to
+ standard output if <code>duplicateToStdOut</code> is <code>true</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>line</code> - The line to be printed.</dd>
+<dd><code>writer</code> - The <code>PrintWriter</code> that is to print <code>line</code>.</dd>
+<dd><code>duplicateToStdOut</code> - Set to <code>true</code> if <code>line</code> should also be printed in standard output.</dd>
+</dl>
+</li>
+</ul>
+<a name="printEmptyLine-java.io.PrintWriter-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>printEmptyLine</h4>
+<pre>public static&nbsp;void&nbsp;printEmptyLine(java.io.PrintWriter&nbsp;writer,
+                                  boolean&nbsp;duplicateToStdOut)</pre>
+<div class="block">Make writer (and standard output, if <code>duplicateToStdOut</code> is <code>true</code>) print an empty line.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>writer</code> - The writer that <code>PrintWriter.println()</code> is to be invoked on.</dd>
+<dd><code>duplicateToStdOut</code> - If <code>true</code>, prints an empty line to standard output.</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/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/PrintWriterUtils.html" target="_top">Frames</a></li>
+<li><a href="PrintWriterUtils.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/io/TriggerTimesFileReader.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/TriggerTimesFileReader.html
new file mode 100644 (file)
index 0000000..8610944
--- /dev/null
@@ -0,0 +1,363 @@
+<!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>TriggerTimesFileReader</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="TriggerTimesFileReader";
+        }
+    }
+    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/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><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/io/TriggerTimesFileReader.html" target="_top">Frames</a></li>
+<li><a href="TriggerTimesFileReader.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.io</div>
+<h2 title="Class TriggerTimesFileReader" class="title">Class TriggerTimesFileReader</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.io.TriggerTimesFileReader</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TriggerTimesFileReader</span>
+extends java.lang.Object</pre>
+<div class="block">Parses a file to obtain the timestamps at which the smart plug was toggled on/off.</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 java.time.ZoneId</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html#ZONE_ID_BUDAPEST">ZONE_ID_BUDAPEST</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static java.time.ZoneId</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html#ZONE_ID_LOS_ANGELES">ZONE_ID_LOS_ANGELES</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/io/TriggerTimesFileReader.html#TriggerTimesFileReader--">TriggerTimesFileReader</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.time.Instant</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html#parseTriggerTimestamp-java.lang.String-boolean-">parseTriggerTimestamp</a></span>(java.lang.String&nbsp;timestampStr,
+                     boolean&nbsp;_24hFormat)</code>
+<div class="block">Parses a timestamp string to an <code>Instant</code> (UTC).</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>java.util.List&lt;java.time.Instant&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html#readTriggerTimes-java.lang.String-boolean-">readTriggerTimes</a></span>(java.lang.String&nbsp;fileName,
+                boolean&nbsp;_24hFormat)</code>
+<div class="block">Reads a file with trigger timestamps and parses the timestamps into <code>Instant</code>s using the rules specified
+ by <a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html#parseTriggerTimestamp-java.lang.String-boolean-"><code>parseTriggerTimestamp(String, boolean)</code></a>.</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">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="ZONE_ID_LOS_ANGELES">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ZONE_ID_LOS_ANGELES</h4>
+<pre>public static final&nbsp;java.time.ZoneId ZONE_ID_LOS_ANGELES</pre>
+</li>
+</ul>
+<a name="ZONE_ID_BUDAPEST">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ZONE_ID_BUDAPEST</h4>
+<pre>public static final&nbsp;java.time.ZoneId ZONE_ID_BUDAPEST</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TriggerTimesFileReader--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TriggerTimesFileReader</h4>
+<pre>public&nbsp;TriggerTimesFileReader()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="readTriggerTimes-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readTriggerTimes</h4>
+<pre>public&nbsp;java.util.List&lt;java.time.Instant&gt;&nbsp;readTriggerTimes(java.lang.String&nbsp;fileName,
+                                                          boolean&nbsp;_24hFormat)</pre>
+<div class="block">Reads a file with trigger timestamps and parses the timestamps into <code>Instant</code>s using the rules specified
+ by <a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html#parseTriggerTimestamp-java.lang.String-boolean-"><code>parseTriggerTimestamp(String, boolean)</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileName</code> - The absolute path to the file with trigger timestamps.</dd>
+<dd><code>_24hFormat</code> - <code>true</code> if the timestamps in the file are in 24 hour format, <code>false</code> if they are in
+                               AM/PM format.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A containing the trigger timestamps represented as <code>Instant</code>s.</dd>
+</dl>
+</li>
+</ul>
+<a name="parseTriggerTimestamp-java.lang.String-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>parseTriggerTimestamp</h4>
+<pre>public&nbsp;java.time.Instant&nbsp;parseTriggerTimestamp(java.lang.String&nbsp;timestampStr,
+                                               boolean&nbsp;_24hFormat)</pre>
+<div class="block">Parses a timestamp string to an <code>Instant</code> (UTC). Assumes timestamps are LA time.
+ Format is expected to be either "MM/dd/uuuu HH:mm:ss" or "MM/dd/uuuu h:mm:ss a".</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timestampStr</code> - The string containing a date-time timestamp for LA's timezone.</dd>
+<dd><code>_24hFormat</code> - <code>true</code> if the time in <code>timestampStr</code> is given in 24 hour format, <code>false</code> if
+                               it is given in AM/PM format.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>An <code>Instant</code> representation of the parsed timestamp. Note that the <code>Instant</code> marks a point on
+         the timeline in UTC. Use <code>Instant.atZone(ZoneId)</code> to convert to the corresponding time in a given
+         timezone.</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/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><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/io/TriggerTimesFileReader.html" target="_top">Frames</a></li>
+<li><a href="TriggerTimesFileReader.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/io/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-frame.html
new file mode 100644 (file)
index 0000000..1d95f9e
--- /dev/null
@@ -0,0 +1,23 @@
+<!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.io</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/io/package-summary.html" target="classFrame">edu.uci.iotproject.io</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="LiveCapture.html" title="class in edu.uci.iotproject.io" target="classFrame">LiveCapture</a></li>
+<li><a href="PcapHandleReader.html" title="class in edu.uci.iotproject.io" target="classFrame">PcapHandleReader</a></li>
+<li><a href="PrintWriterUtils.html" title="class in edu.uci.iotproject.io" target="classFrame">PrintWriterUtils</a></li>
+<li><a href="TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io" target="classFrame">TriggerTimesFileReader</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html
new file mode 100644 (file)
index 0000000..d0eb79f
--- /dev/null
@@ -0,0 +1,161 @@
+<!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.io</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.io";
+        }
+    }
+    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/evaluation/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/maclayer/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/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.io</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/io/LiveCapture.html" title="class in edu.uci.iotproject.io">LiveCapture</a></td>
+<td class="colLast">
+<div class="block">Utility methods for setting up a <a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that reads live traffic from a network interface card.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></td>
+<td class="colLast">
+<div class="block">Reads packets from a <code>PcapHandle</code> (online or offline) and delivers those packets that pass the test exercised
+ by the provided <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><code>PcapPacketFilter</code></a> onto the provided <code>PacketListener</code>s.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io">PrintWriterUtils</a></td>
+<td class="colLast">
+<div class="block">Utility methods for (jointly) printing to a <code>PrintWriter</code> (and standard output).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></td>
+<td class="colLast">
+<div class="block">Parses a file to obtain the timestamps at which the smart plug was toggled on/off.</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/evaluation/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/maclayer/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/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/io/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-tree.html
new file mode 100644 (file)
index 0000000..a6fdcc8
--- /dev/null
@@ -0,0 +1,138 @@
+<!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.io 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.io 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/evaluation/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/maclayer/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/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.io</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.io.<a href="../../../../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">LiveCapture</span></a></li>
+<li type="circle">edu.uci.iotproject.io.<a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">PcapHandleReader</span></a></li>
+<li type="circle">edu.uci.iotproject.io.<a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">PrintWriterUtils</span></a></li>
+<li type="circle">edu.uci.iotproject.io.<a href="../../../../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">TriggerTimesFileReader</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/evaluation/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/maclayer/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/io/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/maclayer/MacLayerFlowPattern.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPattern.html
new file mode 100644 (file)
index 0000000..a2e6146
--- /dev/null
@@ -0,0 +1,313 @@
+<!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>MacLayerFlowPattern</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="MacLayerFlowPattern";
+        }
+    }
+    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/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" target="_top">Frames</a></li>
+<li><a href="MacLayerFlowPattern.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.maclayer</div>
+<h2 title="Class MacLayerFlowPattern" class="title">Class MacLayerFlowPattern</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.maclayer.MacLayerFlowPattern</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MacLayerFlowPattern</span>
+extends java.lang.Object</pre>
+<div class="block">TODO create base class for FlowPattern and derive MacLayer, TCP/IP layer versions from that.</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/maclayer/MacLayerFlowPattern.html#MacLayerFlowPattern-java.lang.String-java.lang.String-java.util.List-">MacLayerFlowPattern</a></span>(java.lang.String&nbsp;patternId,
+                   java.lang.String&nbsp;macPrefix,
+                   java.util.List&lt;java.lang.Integer&gt;&nbsp;packetLengthSequence)</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/maclayer/MacLayerFlowPattern.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html#getMacPrefixRawBytes--">getMacPrefixRawBytes</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" 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/maclayer/MacLayerFlowPattern.html#getPacketLengthSequence--">getPacketLengthSequence</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPattern.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="MacLayerFlowPattern-java.lang.String-java.lang.String-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MacLayerFlowPattern</h4>
+<pre>public&nbsp;MacLayerFlowPattern(java.lang.String&nbsp;patternId,
+                           java.lang.String&nbsp;macPrefix,
+                           java.util.List&lt;java.lang.Integer&gt;&nbsp;packetLengthSequence)</pre>
+</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="getMacPrefixRawBytes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMacPrefixRawBytes</h4>
+<pre>public&nbsp;byte[]&nbsp;getMacPrefixRawBytes()</pre>
+</li>
+</ul>
+<a name="getPacketLengthSequence--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPacketLengthSequence</h4>
+<pre>public&nbsp;java.util.List&lt;java.lang.Integer&gt;&nbsp;getPacketLengthSequence()</pre>
+</li>
+</ul>
+<a name="getLength--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLength</h4>
+<pre>public&nbsp;int&nbsp;getLength()</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/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" target="_top">Frames</a></li>
+<li><a href="MacLayerFlowPattern.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/maclayer/MacLayerFlowPatternFinder.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html
new file mode 100644 (file)
index 0000000..771a435
--- /dev/null
@@ -0,0 +1,273 @@
+<!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>MacLayerFlowPatternFinder</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="MacLayerFlowPatternFinder";
+        }
+    }
+    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/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer"><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/maclayer/MacLayerFlowPatternFinder.html" target="_top">Frames</a></li>
+<li><a href="MacLayerFlowPatternFinder.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.maclayer</div>
+<h2 title="Class MacLayerFlowPatternFinder" class="title">Class MacLayerFlowPatternFinder</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.maclayer.MacLayerFlowPatternFinder</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MacLayerFlowPatternFinder</span>
+extends java.lang.Object</pre>
+<div class="block">Performs a search for <a href="../../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><code>FlowPattern</code></a>
+ TODO: May want to create an abstract FlowPatternFinder and then derive MacLayer, TcpipLayer FlowPatternFinders from that one.</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/maclayer/MacLayerFlowPatternFinder.html#MacLayerFlowPatternFinder-org.pcap4j.core.PcapHandle-edu.uci.iotproject.maclayer.MacLayerFlowPattern-">MacLayerFlowPatternFinder</a></span>(org.pcap4j.core.PcapHandle&nbsp;pcap,
+                         <a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a>&nbsp;pattern)</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html#findFlowPattern--">findFlowPattern</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="MacLayerFlowPatternFinder-org.pcap4j.core.PcapHandle-edu.uci.iotproject.maclayer.MacLayerFlowPattern-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MacLayerFlowPatternFinder</h4>
+<pre>public&nbsp;MacLayerFlowPatternFinder(org.pcap4j.core.PcapHandle&nbsp;pcap,
+                                 <a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a>&nbsp;pattern)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="findFlowPattern--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>findFlowPattern</h4>
+<pre>public&nbsp;void&nbsp;findFlowPattern()</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/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer"><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/maclayer/MacLayerFlowPatternFinder.html" target="_top">Frames</a></li>
+<li><a href="MacLayerFlowPatternFinder.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/maclayer/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-frame.html
new file mode 100644 (file)
index 0000000..363d5cf
--- /dev/null
@@ -0,0 +1,21 @@
+<!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.maclayer</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/maclayer/package-summary.html" target="classFrame">edu.uci.iotproject.maclayer</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer" target="classFrame">MacLayerFlowPattern</a></li>
+<li><a href="MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer" target="classFrame">MacLayerFlowPatternFinder</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html
new file mode 100644 (file)
index 0000000..9d46a9d
--- /dev/null
@@ -0,0 +1,149 @@
+<!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.maclayer</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.maclayer";
+        }
+    }
+    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/io/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/test/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/maclayer/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.maclayer</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/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></td>
+<td class="colLast">
+<div class="block">TODO create base class for FlowPattern and derive MacLayer, TCP/IP layer versions from that.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPatternFinder</a></td>
+<td class="colLast">
+<div class="block">Performs a search for <a href="../../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><code>FlowPattern</code></a>
+ TODO: May want to create an abstract FlowPatternFinder and then derive MacLayer, TcpipLayer FlowPatternFinders from that one.</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/io/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/test/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/maclayer/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/maclayer/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-tree.html
new file mode 100644 (file)
index 0000000..dc98374
--- /dev/null
@@ -0,0 +1,136 @@
+<!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.maclayer 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.maclayer 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/io/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/test/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/maclayer/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.maclayer</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.maclayer.<a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">MacLayerFlowPattern</span></a></li>
+<li type="circle">edu.uci.iotproject.maclayer.<a href="../../../../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">MacLayerFlowPatternFinder</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/io/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/test/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/maclayer/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/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-frame.html
new file mode 100644 (file)
index 0000000..81465b2
--- /dev/null
@@ -0,0 +1,22 @@
+<!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</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/package-summary.html" target="classFrame">edu.uci.iotproject</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="DnsMap.html" title="class in edu.uci.iotproject" target="classFrame">DnsMap</a></li>
+<li><a href="FlowPattern.html" title="class in edu.uci.iotproject" target="classFrame">FlowPattern</a></li>
+<li><a href="SignatureGenerator.html" title="class in edu.uci.iotproject" target="classFrame">SignatureGenerator</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html
new file mode 100644 (file)
index 0000000..8462559
--- /dev/null
@@ -0,0 +1,157 @@
+<!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</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";
+        }
+    }
+    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>Prev&nbsp;Package</li>
+<li><a href="../../../edu/uci/iotproject/analysis/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/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</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/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></td>
+<td class="colLast">
+<div class="block">This is a class that does DNS mapping.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</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/SignatureGenerator.html" title="class in edu.uci.iotproject">SignatureGenerator</a></td>
+<td class="colLast">
+<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>
+</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>Prev&nbsp;Package</li>
+<li><a href="../../../edu/uci/iotproject/analysis/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/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/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-tree.html
new file mode 100644 (file)
index 0000000..da8d54b
--- /dev/null
@@ -0,0 +1,137 @@
+<!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 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 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>Prev</li>
+<li><a href="../../../edu/uci/iotproject/analysis/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/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</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.<a href="../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><span class="typeNameLink">DnsMap</span></a> (implements org.pcap4j.core.PacketListener)</li>
+<li type="circle">edu.uci.iotproject.<a href="../../../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">FlowPattern</span></a></li>
+<li type="circle">edu.uci.iotproject.<a href="../../../edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject"><span class="typeNameLink">SignatureGenerator</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>Prev</li>
+<li><a href="../../../edu/uci/iotproject/analysis/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?edu/uci/iotproject/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/test/SequenceAlignmentTest.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/SequenceAlignmentTest.html
new file mode 100644 (file)
index 0000000..a467e71
--- /dev/null
@@ -0,0 +1,387 @@
+<!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>SequenceAlignmentTest</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="SequenceAlignmentTest";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":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>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/test/SequenceAlignmentTest.html" target="_top">Frames</a></li>
+<li><a href="SequenceAlignmentTest.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.test</div>
+<h2 title="Class SequenceAlignmentTest" class="title">Class SequenceAlignmentTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.test.SequenceAlignmentTest</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SequenceAlignmentTest</span>
+extends java.lang.Object</pre>
+<div class="block">Tests the implementation of <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/test/SequenceAlignmentTest.html#SequenceAlignmentTest--">SequenceAlignmentTest</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html#ameAlignedWithNameShouldBe2--">ameAlignedWithNameShouldBe2</a></span>()</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/test/SequenceAlignmentTest.html#emanAlignedWithNameShouldBe6--">emanAlignedWithNameShouldBe6</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html#fameAlignedWithNameShouldBe1--">fameAlignedWithNameShouldBe1</a></span>()</code>&nbsp;</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/test/SequenceAlignmentTest.html#initialize--">initialize</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html#kleinbergExampleOptAlignmentCostShouldBe6--">kleinbergExampleOptAlignmentCostShouldBe6</a></span>()</code>&nbsp;</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/test/SequenceAlignmentTest.html#mAlignedWithNameShouldBe6--">mAlignedWithNameShouldBe6</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html#meAlignedWithNameShouldBe4--">meAlignedWithNameShouldBe4</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/test/SequenceAlignmentTest.html#meanAlignedWithEmptyStringShouldBe8--">meanAlignedWithEmptyStringShouldBe8</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html#naemAlignedWithNameShouldBe4--">naemAlignedWithNameShouldBe4</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html#nameAlignedWithNameShouldBe0--">nameAlignedWithNameShouldBe0</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="SequenceAlignmentTest--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SequenceAlignmentTest</h4>
+<pre>public&nbsp;SequenceAlignmentTest()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize()</pre>
+</li>
+</ul>
+<a name="kleinbergExampleOptAlignmentCostShouldBe6--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>kleinbergExampleOptAlignmentCostShouldBe6</h4>
+<pre>public&nbsp;void&nbsp;kleinbergExampleOptAlignmentCostShouldBe6()</pre>
+</li>
+</ul>
+<a name="meanAlignedWithEmptyStringShouldBe8--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>meanAlignedWithEmptyStringShouldBe8</h4>
+<pre>public&nbsp;void&nbsp;meanAlignedWithEmptyStringShouldBe8()</pre>
+</li>
+</ul>
+<a name="mAlignedWithNameShouldBe6--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mAlignedWithNameShouldBe6</h4>
+<pre>public&nbsp;void&nbsp;mAlignedWithNameShouldBe6()</pre>
+</li>
+</ul>
+<a name="meAlignedWithNameShouldBe4--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>meAlignedWithNameShouldBe4</h4>
+<pre>public&nbsp;void&nbsp;meAlignedWithNameShouldBe4()</pre>
+</li>
+</ul>
+<a name="ameAlignedWithNameShouldBe2--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ameAlignedWithNameShouldBe2</h4>
+<pre>public&nbsp;void&nbsp;ameAlignedWithNameShouldBe2()</pre>
+</li>
+</ul>
+<a name="fameAlignedWithNameShouldBe1--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fameAlignedWithNameShouldBe1</h4>
+<pre>public&nbsp;void&nbsp;fameAlignedWithNameShouldBe1()</pre>
+</li>
+</ul>
+<a name="nameAlignedWithNameShouldBe0--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nameAlignedWithNameShouldBe0</h4>
+<pre>public&nbsp;void&nbsp;nameAlignedWithNameShouldBe0()</pre>
+</li>
+</ul>
+<a name="emanAlignedWithNameShouldBe6--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>emanAlignedWithNameShouldBe6</h4>
+<pre>public&nbsp;void&nbsp;emanAlignedWithNameShouldBe6()</pre>
+</li>
+</ul>
+<a name="naemAlignedWithNameShouldBe4--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>naemAlignedWithNameShouldBe4</h4>
+<pre>public&nbsp;void&nbsp;naemAlignedWithNameShouldBe4()</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>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/test/SequenceAlignmentTest.html" target="_top">Frames</a></li>
+<li><a href="SequenceAlignmentTest.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/test/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-frame.html
new file mode 100644 (file)
index 0000000..489cecf
--- /dev/null
@@ -0,0 +1,20 @@
+<!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.test</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/test/package-summary.html" target="classFrame">edu.uci.iotproject.test</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test" target="classFrame">SequenceAlignmentTest</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html
new file mode 100644 (file)
index 0000000..8d05873
--- /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.test</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.test";
+        }
+    }
+    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/maclayer/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/test/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.test</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/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></td>
+<td class="colLast">
+<div class="block">Tests the implementation of <a href="../../../../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a>.</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/maclayer/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/test/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/test/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-tree.html
new file mode 100644 (file)
index 0000000..6022bbb
--- /dev/null
@@ -0,0 +1,135 @@
+<!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.test 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.test 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/maclayer/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/trafficreassembly/layer2/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/test/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.test</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.test.<a href="../../../../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test"><span class="typeNameLink">SequenceAlignmentTest</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/maclayer/package-tree.html">Prev</a></li>
+<li><a href="../../../../edu/uci/iotproject/trafficreassembly/layer2/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/test/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/trafficreassembly/layer2/Layer2Flow.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html
new file mode 100644 (file)
index 0000000..f8079d4
--- /dev/null
@@ -0,0 +1,396 @@
+<!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>Layer2Flow</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="Layer2Flow";
+        }
+    }
+    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>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" target="_top">Frames</a></li>
+<li><a href="Layer2Flow.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.trafficreassembly.layer2</div>
+<h2 title="Class Layer2Flow" class="title">Class Layer2Flow</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Layer2Flow</span>
+extends java.lang.Object</pre>
+<div class="block">Models a layer 2 flow: groups packets exchanged between two specific endpoints (MAC addresses).</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/trafficreassembly/layer2/Layer2Flow.html#Layer2Flow-org.pcap4j.util.MacAddress-org.pcap4j.util.MacAddress-">Layer2Flow</a></span>(org.pcap4j.util.MacAddress&nbsp;endpoint1,
+          org.pcap4j.util.MacAddress&nbsp;endpoint2)</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#addFlowObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver-">addFlowObserver</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>&nbsp;observer)</code>
+<div class="block">Register as an observer of this flow.</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/trafficreassembly/layer2/Layer2Flow.html#addPacket-org.pcap4j.core.PcapPacket-">addPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Add a packet to this flow.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>org.pcap4j.util.MacAddress</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#getEndpoint1--">getEndpoint1</a></span>()</code>
+<div class="block">Get the first endpoint of this flow.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>org.pcap4j.util.MacAddress</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#getEndpoint2--">getEndpoint2</a></span>()</code>
+<div class="block">Get the second endpoint of this flow.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<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/trafficreassembly/layer2/Layer2Flow.html#getPackets--">getPackets</a></span>()</code>
+<div class="block">Get the packets pertaining to this flow.</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/trafficreassembly/layer2/Layer2Flow.html#removeFlowObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver-">removeFlowObserver</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>&nbsp;observer)</code>
+<div class="block">Deregister as an observer of this flow.</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/trafficreassembly/layer2/Layer2Flow.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="Layer2Flow-org.pcap4j.util.MacAddress-org.pcap4j.util.MacAddress-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2Flow</h4>
+<pre>public&nbsp;Layer2Flow(org.pcap4j.util.MacAddress&nbsp;endpoint1,
+                  org.pcap4j.util.MacAddress&nbsp;endpoint2)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getEndpoint1--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEndpoint1</h4>
+<pre>public&nbsp;org.pcap4j.util.MacAddress&nbsp;getEndpoint1()</pre>
+<div class="block">Get the first endpoint of this flow.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the first endpoint of this flow.</dd>
+</dl>
+</li>
+</ul>
+<a name="getEndpoint2--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEndpoint2</h4>
+<pre>public&nbsp;org.pcap4j.util.MacAddress&nbsp;getEndpoint2()</pre>
+<div class="block">Get the second endpoint of this flow.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the second endpoint of this flow.</dd>
+</dl>
+</li>
+</ul>
+<a name="addFlowObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFlowObserver</h4>
+<pre>public&nbsp;void&nbsp;addFlowObserver(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>&nbsp;observer)</pre>
+<div class="block">Register as an observer of this flow.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>observer</code> - The client that is to be notified whenever this flow changes (has new packets added).</dd>
+</dl>
+</li>
+</ul>
+<a name="removeFlowObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeFlowObserver</h4>
+<pre>public&nbsp;void&nbsp;removeFlowObserver(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>&nbsp;observer)</pre>
+<div class="block">Deregister as an observer of this flow.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>observer</code> - The client that no longer wishes to be notified whenever this flow changes.</dd>
+</dl>
+</li>
+</ul>
+<a name="addPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addPacket</h4>
+<pre>public&nbsp;void&nbsp;addPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Add a packet to this flow.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet that is to be added to the flow.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPackets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPackets</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getPackets()</pre>
+<div class="block">Get the packets pertaining to this flow.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The packets pertaining to this flow.</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>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" target="_top">Frames</a></li>
+<li><a href="Layer2Flow.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/trafficreassembly/layer2/Layer2FlowObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html
new file mode 100644 (file)
index 0000000..e8e57b5
--- /dev/null
@@ -0,0 +1,234 @@
+<!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>Layer2FlowObserver</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="Layer2FlowObserver";
+        }
+    }
+    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/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" target="_top">Frames</a></li>
+<li><a href="Layer2FlowObserver.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.trafficreassembly.layer2</div>
+<h2 title="Interface Layer2FlowObserver" class="title">Interface Layer2FlowObserver</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/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Layer2FlowObserver</span></pre>
+<div class="block">Interface for observing a <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2Flow</code></a>.</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/trafficreassembly/layer2/Layer2FlowObserver.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>
+</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="onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onNewPacket</h4>
+<pre>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">Invoked when a new packet is added to the observed flow.</div>
+<dl>
+<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>
+</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/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" target="_top">Frames</a></li>
+<li><a href="Layer2FlowObserver.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/trafficreassembly/layer2/Layer2FlowReassembler.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html
new file mode 100644 (file)
index 0000000..60bebbc
--- /dev/null
@@ -0,0 +1,351 @@
+<!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>Layer2FlowReassembler</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="Layer2FlowReassembler";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":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/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" target="_top">Frames</a></li>
+<li><a href="Layer2FlowReassembler.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.trafficreassembly.layer2</div>
+<h2 title="Class Layer2FlowReassembler" class="title">Class Layer2FlowReassembler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler</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">Layer2FlowReassembler</span>
+extends java.lang.Object
+implements org.pcap4j.core.PacketListener</pre>
+<div class="block">Reassembles traffic flows at layer 2, i.e., for each combination of hosts, creates a list of packets exchanged
+ between said hosts.</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/trafficreassembly/layer2/Layer2FlowReassembler.html#Layer2FlowReassembler--">Layer2FlowReassembler</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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#addObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver-">addObserver</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>&nbsp;observer)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#getFlowForAddresses-org.pcap4j.util.MacAddress-org.pcap4j.util.MacAddress-">getFlowForAddresses</a></span>(org.pcap4j.util.MacAddress&nbsp;addr1,
+                   org.pcap4j.util.MacAddress&nbsp;addr2)</code>
+<div class="block">Get the traffic flow between two local endpoints (<code>MacAddress</code>es).</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#getFlows--">getFlows</a></span>()</code>
+<div class="block">Get all traffic flows, i.e., a traffic flow for each unique pair of endpoints (MAC addresses).</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/trafficreassembly/layer2/Layer2FlowReassembler.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#removeObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver-">removeObserver</a></span>(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>&nbsp;observer)</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="Layer2FlowReassembler--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Layer2FlowReassembler</h4>
+<pre>public&nbsp;Layer2FlowReassembler()</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="addObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addObserver</h4>
+<pre>public&nbsp;void&nbsp;addObserver(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>&nbsp;observer)</pre>
+</li>
+</ul>
+<a name="removeObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeObserver</h4>
+<pre>public&nbsp;void&nbsp;removeObserver(<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>&nbsp;observer)</pre>
+</li>
+</ul>
+<a name="getFlowForAddresses-org.pcap4j.util.MacAddress-org.pcap4j.util.MacAddress-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFlowForAddresses</h4>
+<pre>public&nbsp;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&nbsp;getFlowForAddresses(org.pcap4j.util.MacAddress&nbsp;addr1,
+                                      org.pcap4j.util.MacAddress&nbsp;addr2)</pre>
+<div class="block">Get the traffic flow between two local endpoints (<code>MacAddress</code>es).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>addr1</code> - The first endpoint.</dd>
+<dd><code>addr2</code> - The second endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The traffic exchanged between the two endpoints.</dd>
+</dl>
+</li>
+</ul>
+<a name="getFlows--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getFlows</h4>
+<pre>public&nbsp;java.util.Collection&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>&gt;&nbsp;getFlows()</pre>
+<div class="block">Get all traffic flows, i.e., a traffic flow for each unique pair of endpoints (MAC addresses).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>All traffic flows.</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/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" target="_top">Frames</a></li>
+<li><a href="Layer2FlowReassembler.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/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html
new file mode 100644 (file)
index 0000000..0df8bbc
--- /dev/null
@@ -0,0 +1,236 @@
+<!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>Layer2FlowReassemblerObserver</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="Layer2FlowReassemblerObserver";
+        }
+    }
+    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/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><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/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" target="_top">Frames</a></li>
+<li><a href="Layer2FlowReassemblerObserver.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.trafficreassembly.layer2</div>
+<h2 title="Interface Layer2FlowReassemblerObserver" class="title">Interface Layer2FlowReassemblerObserver</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/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Layer2FlowReassemblerObserver</span></pre>
+<div class="block">For observing a <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a>.</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/trafficreassembly/layer2/Layer2FlowReassemblerObserver.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>
+</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="onNewFlow-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>onNewFlow</h4>
+<pre>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">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="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.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><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/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" target="_top">Frames</a></li>
+<li><a href="Layer2FlowReassemblerObserver.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/trafficreassembly/layer2/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-frame.html
new file mode 100644 (file)
index 0000000..b3594ab
--- /dev/null
@@ -0,0 +1,26 @@
+<!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.trafficreassembly.layer2</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/trafficreassembly/layer2/package-summary.html" target="classFrame">edu.uci.iotproject.trafficreassembly.layer2</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame"><span class="interfaceName">Layer2FlowObserver</span></a></li>
+<li><a href="Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame"><span class="interfaceName">Layer2FlowReassemblerObserver</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame">Layer2Flow</a></li>
+<li><a href="Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2" target="classFrame">Layer2FlowReassembler</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html
new file mode 100644 (file)
index 0000000..d97e3e1
--- /dev/null
@@ -0,0 +1,172 @@
+<!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.trafficreassembly.layer2</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.trafficreassembly.layer2";
+        }
+    }
+    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/test/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/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.trafficreassembly.layer2</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/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a></td>
+<td class="colLast">
+<div class="block">Interface for observing a <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2Flow</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a></td>
+<td class="colLast">
+<div class="block">For observing a <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a>.</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/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></td>
+<td class="colLast">
+<div class="block">Models a layer 2 flow: groups packets exchanged between two specific endpoints (MAC addresses).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></td>
+<td class="colLast">
+<div class="block">Reassembles traffic flows at layer 2, i.e., for each combination of hosts, creates a list of packets exchanged
+ between said hosts.</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/test/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/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/trafficreassembly/layer2/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-tree.html
new file mode 100644 (file)
index 0000000..a30e808
--- /dev/null
@@ -0,0 +1,141 @@
+<!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.trafficreassembly.layer2 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.trafficreassembly.layer2 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/test/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/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.trafficreassembly.layer2</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.trafficreassembly.layer2.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2Flow</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowReassembler</span></a> (implements org.pcap4j.core.PacketListener)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowObserver</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowReassemblerObserver</span></a></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/test/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer2/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/trafficreassembly/layer3/Conversation.Direction.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html
new file mode 100644 (file)
index 0000000..254af0c
--- /dev/null
@@ -0,0 +1,364 @@
+<!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>Conversation.Direction</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="Conversation.Direction";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static 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><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" target="_top">Frames</a></li>
+<li><a href="Conversation.Direction.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.trafficreassembly.layer3</div>
+<h2 title="Enum Conversation.Direction" class="title">Enum Conversation.Direction</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.trafficreassembly.layer3.Conversation.Direction</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">Conversation.Direction</span>
+extends java.lang.Enum&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a>&gt;</pre>
+<div class="block">Utility enum for expressing the direction of a packet pertaining to this <code>Conversation</code>.</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/trafficreassembly/layer3/Conversation.Direction.html#CLIENT_TO_SERVER">CLIENT_TO_SERVER</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html#SERVER_TO_CLIENT">SERVER_TO_CLIENT</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="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>abstract java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html#toCompactString--">toCompactString</a></span>()</code>
+<div class="block">Get a compact string representation of this <code>Direction</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.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="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.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="CLIENT_TO_SERVER">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CLIENT_TO_SERVER</h4>
+<pre>public static final&nbsp;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a> CLIENT_TO_SERVER</pre>
+</li>
+</ul>
+<a name="SERVER_TO_CLIENT">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SERVER_TO_CLIENT</h4>
+<pre>public static final&nbsp;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a> SERVER_TO_CLIENT</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</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 (Conversation.Direction c : Conversation.Direction.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="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</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>
+<a name="toCompactString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toCompactString</h4>
+<pre>public abstract&nbsp;java.lang.String&nbsp;toCompactString()</pre>
+<div class="block">Get a compact string representation of this <code>Direction</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a compact string representation of this <code>Direction</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/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" target="_top">Frames</a></li>
+<li><a href="Conversation.Direction.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/trafficreassembly/layer3/Conversation.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.html
new file mode 100644 (file)
index 0000000..e39c4ce
--- /dev/null
@@ -0,0 +1,717 @@
+<!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>Conversation</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="Conversation";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":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>Prev&nbsp;Class</li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" target="_top">Frames</a></li>
+<li><a href="Conversation.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.trafficreassembly.layer3</div>
+<h2 title="Class Conversation" class="title">Class Conversation</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.trafficreassembly.layer3.Conversation</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Conversation</span>
+extends java.lang.Object</pre>
+<div class="block">Models a (TCP) conversation/connection/session/flow (packet's belonging to the same session between a client and a
+ server).
+ Holds a list of <code>PcapPacket</code>s identified as pertaining to the flow. Note that this list is <em>not</em>
+ considered when determining equality of two <code>Conversation</code> instances in order to allow for a
+ <code>Conversation</code> to function as a key in data structures such as <code>Map</code> and <code>Set</code>.
+ See <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#equals-java.lang.Object-"><code>equals(Object)</code></a> for the definition of equality.</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></span></code>
+<div class="block">Utility enum for expressing the direction of a packet pertaining to this <code>Conversation</code>.</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/trafficreassembly/layer3/Conversation.html#Conversation-java.lang.String-int-java.lang.String-int-">Conversation</a></span>(java.lang.String&nbsp;clientIp,
+            int&nbsp;clientPort,
+            java.lang.String&nbsp;serverIp,
+            int&nbsp;serverPort)</code>
+<div class="block">Constructs a new <code>Conversation</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="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>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addFinPacket-org.pcap4j.core.PcapPacket-">addFinPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;finPacket)</code>
+<div class="block">Adds a TCP FIN packet to the list of TCP FIN packets associated with this conversation.</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/trafficreassembly/layer3/Conversation.html#addPacket-org.pcap4j.core.PcapPacket-boolean-">addPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet,
+         boolean&nbsp;ignoreRetransmissions)</code>
+<div class="block">Add a packet to the list of packets associated with this conversation.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addRstPacket-org.pcap4j.core.PcapPacket-">addRstPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Add a TCP segment for which the RST flag is set to this <code>Conversation</code>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addSynPacket-org.pcap4j.core.PcapPacket-">addSynPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;synPacket)</code>
+<div class="block">Records a TCP SYN packet as pertaining to this conversation (adds it to the the internal list).</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#attemptAcknowledgementOfFin-org.pcap4j.core.PcapPacket-">attemptAcknowledgementOfFin</a></span>(org.pcap4j.core.PcapPacket&nbsp;ackPacket)</code>
+<div class="block">Attempt to ACK any FIN packets held by this conversation.</div>
+</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/trafficreassembly/layer3/Conversation.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;obj)</code>
+<div class="block"><em>Note:</em> currently, equality is determined based on pairwise equality of the elements of the four tuple
+ (<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mClientIp"><code>mClientIp</code></a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mClientPort"><code>mClientPort</code></a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mServerIp"><code>mServerIp</code></a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mServerPort"><code>mServerPort</code></a>) for <code>this</code> and
+ <code>obj</code>.</div>
+</td>
+</tr>
+<tr id="i6" 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/trafficreassembly/layer3/Conversation.html#fromPcapPacket-org.pcap4j.core.PcapPacket-boolean-">fromPcapPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;pcapPacket,
+              boolean&nbsp;clientIsSrc)</code>
+<div class="block">Factory method for creating a <code>Conversation</code> from a <code>PcapPacket</code>.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getDirection-org.pcap4j.core.PcapPacket-">getDirection</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Determine the direction of <code>packet</code>.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getFinAckPairs--">getFinAckPairs</a></span>()</code>
+<div class="block">Retrieves an unmodifiable view of the list of <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>FinAckPair</code></a>s associated with this <code>Conversation</code>.</div>
+</td>
+</tr>
+<tr id="i9" 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/trafficreassembly/layer3/Conversation.html#getPackets--">getPackets</a></span>()</code>
+<div class="block">Get a list of packets pertaining to this <code>Conversation</code>.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<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/trafficreassembly/layer3/Conversation.html#getRstPackets--">getRstPackets</a></span>()</code>
+<div class="block">Get the TCP segments pertaining to this <code>Conversation</code> for which it was detected that the RST flag is set.</div>
+</td>
+</tr>
+<tr id="i11" 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/trafficreassembly/layer3/Conversation.html#getSynPackets--">getSynPackets</a></span>()</code>
+<div class="block">Get a list of SYN packets pertaining to this <code>Conversation</code>.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<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/trafficreassembly/layer3/Conversation.html#getTlsApplicationDataPackets--">getTlsApplicationDataPackets</a></span>()</code>
+<div class="block">If this <code>Conversation</code> is backing a TLS session (i.e., if the value of <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isTls--"><code>isTls()</code></a> is <code>true</code>),
+ get the packets labeled as TLS Application Data packets.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isGracefullyShutdown--">isGracefullyShutdown</a></span>()</code>
+<div class="block">Get if this <code>Conversation</code> is considered to have been gracefully shut down.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isRetransmission-org.pcap4j.core.PcapPacket-">isRetransmission</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">
+      Determines if the TCP packet contained in <code>packet</code> is a retransmission of a previously seen (logged)
+      packet.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isTls--">isTls</a></span>()</code>
+<div class="block">
+     Is this <code>Conversation</code> a TLS session?</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.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="Conversation-java.lang.String-int-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Conversation</h4>
+<pre>public&nbsp;Conversation(java.lang.String&nbsp;clientIp,
+                    int&nbsp;clientPort,
+                    java.lang.String&nbsp;serverIp,
+                    int&nbsp;serverPort)</pre>
+<div class="block">Constructs a new <code>Conversation</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clientIp</code> - The IP of the host that is considered the client (i.e. the host that initiates the conversation)
+                 in the conversation.</dd>
+<dd><code>clientPort</code> - The port number used by the client for the conversation.</dd>
+<dd><code>serverIp</code> - The IP of the host that is considered the server (i.e. is the responder) in the conversation.</dd>
+<dd><code>serverPort</code> - The port number used by the server for the conversation.</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="fromPcapPacket-org.pcap4j.core.PcapPacket-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fromPcapPacket</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;fromPcapPacket(org.pcap4j.core.PcapPacket&nbsp;pcapPacket,
+                                          boolean&nbsp;clientIsSrc)</pre>
+<div class="block">Factory method for creating a <code>Conversation</code> from a <code>PcapPacket</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pcapPacket</code> - The <code>PcapPacket</code> that wraps a TCP segment for which a <code>Conversation</code> is to be initiated.</dd>
+<dd><code>clientIsSrc</code> - If <code>true</code>, the source address and source port found in the IP datagram and TCP segment
+                    wrapped in the <code>PcapPacket</code> are regarded as pertaining to the client, and the destination
+                    address and destination port are regarded as pertaining to the server---and vice versa if set
+                    to <code>false</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>Conversation</code> initiated with ip:port for client and server according to the direction of the packet.</dd>
+</dl>
+</li>
+</ul>
+<a name="addPacket-org.pcap4j.core.PcapPacket-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addPacket</h4>
+<pre>public&nbsp;void&nbsp;addPacket(org.pcap4j.core.PcapPacket&nbsp;packet,
+                      boolean&nbsp;ignoreRetransmissions)</pre>
+<div class="block">Add a packet to the list of packets associated with this conversation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet that is to be added to (associated with) this conversation.</dd>
+<dd><code>ignoreRetransmissions</code> - Boolean value indicating if retransmissions should be ignored.
+                              If set to <code>true</code>, <code>packet</code> will <em>not</em> be added to the
+                              internal list of packets pertaining to this <code>Conversation</code>
+                              <em>iff</em> the sequence number of <code>packet</code> was already
+                              seen in a previous packet.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPackets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPackets</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getPackets()</pre>
+<div class="block">Get a list of packets pertaining to this <code>Conversation</code>.
+ The returned list is a read-only list.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list of packets pertaining to this <code>Conversation</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="addSynPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addSynPacket</h4>
+<pre>public&nbsp;boolean&nbsp;addSynPacket(org.pcap4j.core.PcapPacket&nbsp;synPacket)</pre>
+<div class="block">Records a TCP SYN packet as pertaining to this conversation (adds it to the the internal list).
+ Attempts to add duplicate SYN packets will be ignored, and the caller is made aware of the attempt to add a
+ duplicate by the return value being <code>false</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>synPacket</code> - A <code>PcapPacket</code> wrapping a TCP SYN packet.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the packet was successfully added to this <code>Conversation</code>, <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSynPackets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSynPackets</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getSynPackets()</pre>
+<div class="block">Get a list of SYN packets pertaining to this <code>Conversation</code>.
+ The returned list is a read-only list.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list of SYN packets pertaining to this <code>Conversation</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="addFinPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addFinPacket</h4>
+<pre>public&nbsp;void&nbsp;addFinPacket(org.pcap4j.core.PcapPacket&nbsp;finPacket)</pre>
+<div class="block">Adds a TCP FIN packet to the list of TCP FIN packets associated with this conversation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>finPacket</code> - The TCP FIN packet that is to be added to (associated with) this conversation.</dd>
+</dl>
+</li>
+</ul>
+<a name="attemptAcknowledgementOfFin-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>attemptAcknowledgementOfFin</h4>
+<pre>public&nbsp;void&nbsp;attemptAcknowledgementOfFin(org.pcap4j.core.PcapPacket&nbsp;ackPacket)</pre>
+<div class="block">Attempt to ACK any FIN packets held by this conversation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ackPacket</code> - The ACK for a FIN previously added to this conversation.</dd>
+</dl>
+</li>
+</ul>
+<a name="getFinAckPairs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFinAckPairs</h4>
+<pre>public&nbsp;java.util.List&lt;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a>&gt;&nbsp;getFinAckPairs()</pre>
+<div class="block">Retrieves an unmodifiable view of the list of <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>FinAckPair</code></a>s associated with this <code>Conversation</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an unmodifiable view of the list of <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>FinAckPair</code></a>s associated with this <code>Conversation</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isGracefullyShutdown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isGracefullyShutdown</h4>
+<pre>public&nbsp;boolean&nbsp;isGracefullyShutdown()</pre>
+<div class="block">Get if this <code>Conversation</code> is considered to have been gracefully shut down.
+ A <code>Conversation</code> has been gracefully shut down if it contains a FIN+ACK pair for both directions
+ (client to server, and server to client).</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the connection has been gracefully shut down, false otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="addRstPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addRstPacket</h4>
+<pre>public&nbsp;void&nbsp;addRstPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Add a TCP segment for which the RST flag is set to this <code>Conversation</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - A <code>PcapPacket</code> wrapping a TCP segment pertaining to this <code>Conversation</code> for which the
+               RST flag is set.</dd>
+</dl>
+</li>
+</ul>
+<a name="getRstPackets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRstPackets</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getRstPackets()</pre>
+<div class="block">Get the TCP segments pertaining to this <code>Conversation</code> for which it was detected that the RST flag is set.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the TCP segments pertaining to this <code>Conversation</code> for which it was detected that the RST flag is
+         set.</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>
+<div class="block"><em>Note:</em> currently, equality is determined based on pairwise equality of the elements of the four tuple
+ (<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mClientIp"><code>mClientIp</code></a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mClientPort"><code>mClientPort</code></a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mServerIp"><code>mServerIp</code></a>, <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mServerPort"><code>mServerPort</code></a>) for <code>this</code> and
+ <code>obj</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>obj</code> - The object to test for equality with <code>this</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>obj</code> is considered equal to <code>this</code> based on the definition of equality given above.</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="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="isRetransmission-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRetransmission</h4>
+<pre>public&nbsp;boolean&nbsp;isRetransmission(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block"><p>
+      Determines if the TCP packet contained in <code>packet</code> is a retransmission of a previously seen (logged)
+      packet.
+ </p>
+
+ <b>
+     TODO:
+     the current implementation, which uses a set of previously seen sequence numbers, will consider a segment
+     with a reused sequence number---occurring as a result of sequence number wrap around for a very long-lived
+     connection---as a retransmission (and may therefore end up discarding it even though it is in fact NOT a
+     retransmission). Ideas?
+ </b></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>packet</code> was determined to be a retransmission, <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="isTls--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isTls</h4>
+<pre>public&nbsp;boolean&nbsp;isTls()</pre>
+<div class="block"><p>
+     Is this <code>Conversation</code> a TLS session?
+ </p>
+
+ <em>Note: the current implementation simply examines the port number(s) for 443; it does <b>not</b> verify if the
+ application data is indeed encrypted.</em></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if this <code>Conversation</code> is interpreted as a TLS session, <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTlsApplicationDataPackets--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTlsApplicationDataPackets</h4>
+<pre>public&nbsp;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;getTlsApplicationDataPackets()</pre>
+<div class="block">If this <code>Conversation</code> is backing a TLS session (i.e., if the value of <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isTls--"><code>isTls()</code></a> is <code>true</code>),
+ get the packets labeled as TLS Application Data packets. This is a subset of the full set of payload-carrying
+ packets (as returned by <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getPackets--"><code>getPackets()</code></a>). An exception is thrown if this method is invoked on a
+ <code>Conversation</code> for which <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isTls--"><code>isTls()</code></a> returns <code>false</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A list containing exactly those packets that could be identified as TLS Application Data packets (through
+         inspecting of the SSL record header). The list may be empty, if no TLS application data packets have been
+         recorded for this <code>Conversation</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDirection-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDirection</h4>
+<pre>public&nbsp;<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a>&nbsp;getDirection(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Determine the direction of <code>packet</code>. An <code>IllegalArgumentException</code> is thrown if <code>packet</code> does
+ not pertain to this conversation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet whose direction is to be determined.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation.Direction</code></a> indicating the direction of the packet.</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" target="_top">Frames</a></li>
+<li><a href="Conversation.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/trafficreassembly/layer3/FinAckPair.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html
new file mode 100644 (file)
index 0000000..898318c
--- /dev/null
@@ -0,0 +1,367 @@
+<!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>FinAckPair</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="FinAckPair";
+        }
+    }
+    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><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" target="_top">Frames</a></li>
+<li><a href="FinAckPair.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.trafficreassembly.layer3</div>
+<h2 title="Class FinAckPair" class="title">Class FinAckPair</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.trafficreassembly.layer3.FinAckPair</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FinAckPair</span>
+extends java.lang.Object</pre>
+<div class="block">Groups a FIN packet and its corresponding ACK packet. <b>Immutable and thread safe</b>.</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/trafficreassembly/layer3/FinAckPair.html#FinAckPair-org.pcap4j.core.PcapPacket-">FinAckPair</a></span>(org.pcap4j.core.PcapPacket&nbsp;finPacket)</code>
+<div class="block">Constructs a <code>FinAckPair</code> given a FIN packet.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#FinAckPair-org.pcap4j.core.PcapPacket-org.pcap4j.core.PcapPacket-">FinAckPair</a></span>(org.pcap4j.core.PcapPacket&nbsp;finPacket,
+          org.pcap4j.core.PcapPacket&nbsp;correspondingAckPacket)</code>
+<div class="block">Constructs a <code>FinAckPair</code> given a FIN and an ACK packet.</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>org.pcap4j.core.PcapPacket</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#getCorrespondingAckPacket--">getCorrespondingAckPacket</a></span>()</code>
+<div class="block">Get the corresponding ACK packet of this pair, if any.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>org.pcap4j.core.PcapPacket</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#getFinPacket--">getFinPacket</a></span>()</code>
+<div class="block">Get the FIN packet of this pair.</div>
+</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/trafficreassembly/layer3/FinAckPair.html#isAcknowledged--">isAcknowledged</a></span>()</code>
+<div class="block">Was the FIN in this <code>FinAckPair</code> acknowledged?</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#isCorrespondingAckPacket-org.pcap4j.core.PcapPacket-">isCorrespondingAckPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Checks if a given packet is an ACK corresponding to the FIN packet in this <code>FinAckPair</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="FinAckPair-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FinAckPair</h4>
+<pre>public&nbsp;FinAckPair(org.pcap4j.core.PcapPacket&nbsp;finPacket)</pre>
+<div class="block">Constructs a <code>FinAckPair</code> given a FIN packet.
+ The corresponding ACK packet field is set to <code>null</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>finPacket</code> - A FIN packet.</dd>
+</dl>
+</li>
+</ul>
+<a name="FinAckPair-org.pcap4j.core.PcapPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FinAckPair</h4>
+<pre>public&nbsp;FinAckPair(org.pcap4j.core.PcapPacket&nbsp;finPacket,
+                  org.pcap4j.core.PcapPacket&nbsp;correspondingAckPacket)</pre>
+<div class="block">Constructs a <code>FinAckPair</code> given a FIN and an ACK packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>finPacket</code> - A FIN packet.</dd>
+<dd><code>correspondingAckPacket</code> - The ACK packet corresponding to <code>finPacket</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="getFinPacket--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFinPacket</h4>
+<pre>public&nbsp;org.pcap4j.core.PcapPacket&nbsp;getFinPacket()</pre>
+<div class="block">Get the FIN packet of this pair.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the FIN packet of this pair.</dd>
+</dl>
+</li>
+</ul>
+<a name="getCorrespondingAckPacket--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCorrespondingAckPacket</h4>
+<pre>public&nbsp;org.pcap4j.core.PcapPacket&nbsp;getCorrespondingAckPacket()</pre>
+<div class="block">Get the corresponding ACK packet of this pair, if any.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the corresponding ACK packet of this pair, if any.</dd>
+</dl>
+</li>
+</ul>
+<a name="isAcknowledged--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAcknowledged</h4>
+<pre>public&nbsp;boolean&nbsp;isAcknowledged()</pre>
+<div class="block">Was the FIN in this <code>FinAckPair</code> acknowledged?</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the corresponding ACK has been set in this <code>FinAckPair</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isCorrespondingAckPacket-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isCorrespondingAckPacket</h4>
+<pre>public&nbsp;boolean&nbsp;isCorrespondingAckPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Checks if a given packet is an ACK corresponding to the FIN packet in this <code>FinAckPair</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>packet</code> is an ACK that corresponds to the FIN in this pair, <code>false</code> otherwise.</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" target="_top">Frames</a></li>
+<li><a href="FinAckPair.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/trafficreassembly/layer3/TcpReassembler.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html
new file mode 100644 (file)
index 0000000..b353b83
--- /dev/null
@@ -0,0 +1,301 @@
+<!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>TcpReassembler</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="TcpReassembler";
+        }
+    }
+    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/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><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/trafficreassembly/layer3/TcpReassembler.html" target="_top">Frames</a></li>
+<li><a href="TcpReassembler.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.trafficreassembly.layer3</div>
+<h2 title="Class TcpReassembler" class="title">Class TcpReassembler</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.trafficreassembly.layer3.TcpReassembler</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">TcpReassembler</span>
+extends java.lang.Object
+implements org.pcap4j.core.PacketListener</pre>
+<div class="block">Reassembles TCP conversations (streams).
+ <b>Note: current version only supports TCP over IPv4.</b></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/trafficreassembly/layer3/TcpReassembler.html#TcpReassembler--">TcpReassembler</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.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/trafficreassembly/layer3/TcpReassembler.html#getTcpConversations--">getTcpConversations</a></span>()</code>
+<div class="block">Get the reassembled TCP connections.</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/trafficreassembly/layer3/TcpReassembler.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket</a></span>(org.pcap4j.core.PcapPacket&nbsp;pcapPacket)</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="TcpReassembler--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TcpReassembler</h4>
+<pre>public&nbsp;TcpReassembler()</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;pcapPacket)</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="getTcpConversations--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getTcpConversations</h4>
+<pre>public&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;getTcpConversations()</pre>
+<div class="block">Get the reassembled TCP connections. Note that if this is called while packets are still being processed (by
+ calls to <a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html#gotPacket-org.pcap4j.core.PcapPacket-"><code>gotPacket(PcapPacket)</code></a>), the behavior is undefined and the returned list may be inconsistent.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The reassembled TCP connections.</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/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><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/trafficreassembly/layer3/TcpReassembler.html" target="_top">Frames</a></li>
+<li><a href="TcpReassembler.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/trafficreassembly/layer3/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-frame.html
new file mode 100644 (file)
index 0000000..dcc4962
--- /dev/null
@@ -0,0 +1,26 @@
+<!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.trafficreassembly.layer3</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/trafficreassembly/layer3/package-summary.html" target="classFrame">edu.uci.iotproject.trafficreassembly.layer3</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">Conversation</a></li>
+<li><a href="FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">FinAckPair</a></li>
+<li><a href="TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">TcpReassembler</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3" target="classFrame">Conversation.Direction</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html
new file mode 100644 (file)
index 0000000..8b947a0
--- /dev/null
@@ -0,0 +1,172 @@
+<!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.trafficreassembly.layer3</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.trafficreassembly.layer3";
+        }
+    }
+    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/trafficreassembly/layer2/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/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.trafficreassembly.layer3</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/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></td>
+<td class="colLast">
+<div class="block">Models a (TCP) conversation/connection/session/flow (packet's belonging to the same session between a client and a
+ server).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></td>
+<td class="colLast">
+<div class="block">Groups a FIN packet and its corresponding ACK packet.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">TcpReassembler</a></td>
+<td class="colLast">
+<div class="block">Reassembles TCP conversations (streams).</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/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></td>
+<td class="colLast">
+<div class="block">Utility enum for expressing the direction of a packet pertaining to this <code>Conversation</code>.</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/trafficreassembly/layer2/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../edu/uci/iotproject/util/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/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/trafficreassembly/layer3/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-tree.html
new file mode 100644 (file)
index 0000000..601fd6b
--- /dev/null
@@ -0,0 +1,149 @@
+<!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.trafficreassembly.layer3 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.trafficreassembly.layer3 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/trafficreassembly/layer2/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/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.trafficreassembly.layer3</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.trafficreassembly.layer3.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Conversation</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer3.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">FinAckPair</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer3.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">TcpReassembler</span></a> (implements org.pcap4j.core.PacketListener)</li>
+</ul>
+</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.trafficreassembly.layer3.<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Conversation.Direction</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/trafficreassembly/layer2/package-tree.html">Prev</a></li>
+<li><a href="../../../../../edu/uci/iotproject/util/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?edu/uci/iotproject/trafficreassembly/layer3/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/util/PcapPacketUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PcapPacketUtils.html
new file mode 100644 (file)
index 0000000..076509b
--- /dev/null
@@ -0,0 +1,833 @@
+<!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>PcapPacketUtils</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="PcapPacketUtils";
+        }
+    }
+    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,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":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>Prev&nbsp;Class</li>
+<li><a href="../../../../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/util/PcapPacketUtils.html" target="_top">Frames</a></li>
+<li><a href="PcapPacketUtils.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.util</div>
+<h2 title="Class PcapPacketUtils" class="title">Class PcapPacketUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.util.PcapPacketUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">PcapPacketUtils</span>
+extends java.lang.Object</pre>
+<div class="block">Utility methods for inspecting <code>PcapPacket</code> properties.</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/util/PcapPacketUtils.html#PcapPacketUtils--">PcapPacketUtils</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.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#clusterToListOfPcapPackets-org.apache.commons.math3.stat.clustering.Cluster-">clusterToListOfPcapPackets</a></span>(org.apache.commons.math3.stat.clustering.Cluster&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;cluster)</code>
+<div class="block">Transform a <code>Cluster</code> of <code>PcapPacketPair</code> objects into a <code>List</code> of <code>List</code> of
+ <code>PcapPacket</code> objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#concatSequences-java.util.List-java.util.List-">concatSequences</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
+               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">Concatenate sequences in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#extractRangeCorePoints-java.util.List-double-int-">extractRangeCorePoints</a></span>(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;pairs,
+                      double&nbsp;eps,
+                      int&nbsp;minPts)</code>
+<div class="block">Extract core point range in the form of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getDestinationIp-org.pcap4j.core.PcapPacket-">getDestinationIp</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Gets the destination IP (in decimal format) of an IPv4 packet.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getDestinationPort-org.pcap4j.core.PcapPacket-">getDestinationPort</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Gets the destination port of a TCP packet.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static org.pcap4j.util.MacAddress</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getEthDstAddr-org.pcap4j.core.PcapPacket-">getEthDstAddr</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Gets the destination address of the Ethernet part of <code>packet</code>.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static org.pcap4j.util.MacAddress</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getEthSrcAddr-org.pcap4j.core.PcapPacket-">getEthSrcAddr</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Gets the source address of the Ethernet part of <code>packet</code>.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getSourceIp-org.pcap4j.core.PcapPacket-">getSourceIp</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Gets the source IP (in decimal format) of an IPv4 packet.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getSourcePort-org.pcap4j.core.PcapPacket-">getSourcePort</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Gets the source port of a TCP packet.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isAck-org.pcap4j.core.PcapPacket-">isAck</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Checks if <code>packet</code> wraps a TCP packet th        at has the ACK flag set.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isConservativeChecking-java.util.List-java.util.List-double-">isConservativeChecking</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
+                      java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;otherSignature,
+                      double&nbsp;eps)</code>
+<div class="block">Check if there is any overlap between the signature stored in this class and another signature.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isDestination-org.pcap4j.core.PcapPacket-java.lang.String-int-">isDestination</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet,
+             java.lang.String&nbsp;ip,
+             int&nbsp;port)</code>
+<div class="block">Helper method to determine if the given combination of IP and port matches the destination of the given packet.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isDstIpLocal-org.pcap4j.core.PcapPacket-">isDstIpLocal</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Checks if the destination IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address,
+ i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</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/util/PcapPacketUtils.html#isRangeBasedMatching-java.util.List-double-java.util.List...-">isRangeBasedMatching</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
+                    double&nbsp;eps,
+                    java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;...&nbsp;otherSignatures)</code>
+<div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isSource-org.pcap4j.core.PcapPacket-java.lang.String-int-">isSource</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet,
+        java.lang.String&nbsp;ip,
+        int&nbsp;port)</code>
+<div class="block">Helper method to determine if the given combination of IP and port matches the source of the given packet.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isSrcIpLocal-org.pcap4j.core.PcapPacket-">isSrcIpLocal</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Checks if the source IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address, i.e.,
+ if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isSyn-org.pcap4j.core.PcapPacket-">isSyn</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Checks if <code>packet</code> wraps a TCP packet that has the SYN flag set.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isTcp-org.pcap4j.core.PcapPacket-">isTcp</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
+<div class="block">Determines if a given <code>PcapPacket</code> wraps a <code>TcpPacket</code>.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#printSignatures-java.util.List-java.io.PrintWriter-boolean-">printSignatures</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
+               java.io.PrintWriter&nbsp;resultsWriter,
+               boolean&nbsp;printToOutput)</code>
+<div class="block">Print signatures in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#removeSequenceFromSignature-java.util.List-int-">removeSequenceFromSignature</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
+                           int&nbsp;sequenceIndex)</code>
+<div class="block">Remove a sequence in a signature object.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#sortSequences-java.util.List-">sortSequences</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures)</code>
+<div class="block">Sort the sequences in the <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#useRangeBasedMatching-java.util.List-java.util.List-">useRangeBasedMatching</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
+                     java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;corePointRange)</code>
+<div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).</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="PcapPacketUtils--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PcapPacketUtils</h4>
+<pre>public&nbsp;PcapPacketUtils()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getEthSrcAddr-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEthSrcAddr</h4>
+<pre>public static&nbsp;org.pcap4j.util.MacAddress&nbsp;getEthSrcAddr(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Gets the source address of the Ethernet part of <code>packet</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the Ethernet source address is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The source address of the Ethernet part of <code>packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getEthDstAddr-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEthDstAddr</h4>
+<pre>public static&nbsp;org.pcap4j.util.MacAddress&nbsp;getEthDstAddr(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Gets the destination address of the Ethernet part of <code>packet</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the Ethernet destination address is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The destination address of the Ethernet part of <code>packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isTcp-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isTcp</h4>
+<pre>public static&nbsp;boolean&nbsp;isTcp(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Determines if a given <code>PcapPacket</code> wraps a <code>TcpPacket</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The <code>PcapPacket</code> to inspect.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>packet</code> wraps a <code>TcpPacket</code>, <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSourceIp-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSourceIp</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;getSourceIp(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Gets the source IP (in decimal format) of an IPv4 packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the IPv4 source address is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The decimal representation of the source IP of <code>packet</code> <em>iff</em> <code>packet</code> wraps an
+         <code>IpV4Packet</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDestinationIp-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDestinationIp</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;getDestinationIp(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Gets the destination IP (in decimal format) of an IPv4 packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the IPv4 source address is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The decimal representation of the destination IP of <code>packet</code> <em>iff</em> <code>packet</code> wraps an
+         <code>IpV4Packet</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSourcePort-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSourcePort</h4>
+<pre>public static&nbsp;int&nbsp;getSourcePort(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Gets the source port of a TCP packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the source port is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The source port of the <code>TcpPacket</code> encapsulated by <code>packet</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if <code>packet</code> does not encapsulate a <code>TcpPacket</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDestinationPort-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDestinationPort</h4>
+<pre>public static&nbsp;int&nbsp;getDestinationPort(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Gets the destination port of a TCP packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the destination port is to be extracted.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The destination port of the <code>TcpPacket</code> encapsulated by <code>packet</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.IllegalArgumentException</code> - if <code>packet</code> does not encapsulate a <code>TcpPacket</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isSource-org.pcap4j.core.PcapPacket-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSource</h4>
+<pre>public static&nbsp;boolean&nbsp;isSource(org.pcap4j.core.PcapPacket&nbsp;packet,
+                               java.lang.String&nbsp;ip,
+                               int&nbsp;port)</pre>
+<div class="block">Helper method to determine if the given combination of IP and port matches the source of the given packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet to check.</dd>
+<dd><code>ip</code> - The IP to look for in the ip.src field of <code>packet</code>.</dd>
+<dd><code>port</code> - The port to look for in the tcp.port field of <code>packet</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the given ip+port match the corresponding fields in <code>packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isDestination-org.pcap4j.core.PcapPacket-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDestination</h4>
+<pre>public static&nbsp;boolean&nbsp;isDestination(org.pcap4j.core.PcapPacket&nbsp;packet,
+                                    java.lang.String&nbsp;ip,
+                                    int&nbsp;port)</pre>
+<div class="block">Helper method to determine if the given combination of IP and port matches the destination of the given packet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet to check.</dd>
+<dd><code>ip</code> - The IP to look for in the ip.dst field of <code>packet</code>.</dd>
+<dd><code>port</code> - The port to look for in the tcp.dstport field of <code>packet</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if the given ip+port match the corresponding fields in <code>packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isSrcIpLocal-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSrcIpLocal</h4>
+<pre>public static&nbsp;boolean&nbsp;isSrcIpLocal(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Checks if the source IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address, i.e.,
+ if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the source IP address is to be examined.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>packet</code> wraps a <code>IpV4Packet</code> for which the source IP address is a local IP
+         address, <code>false</code> otherwise.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isDstIpLocal-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isDstIpLocal</h4>
+<pre>public static&nbsp;boolean&nbsp;isDstIpLocal(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Checks if the destination IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address,
+ i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - The packet for which the destination IP address is to be examined.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if <code>packet</code> wraps a <code>IpV4Packet</code> for which the destination IP address is a local
+         IP address, <code>false</code> otherwise.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isSyn-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isSyn</h4>
+<pre>public static&nbsp;boolean&nbsp;isSyn(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Checks if <code>packet</code> wraps a TCP packet that has the SYN flag set.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - A <code>PcapPacket</code> that is suspected to contain a <code>TcpPacket</code> for which the SYN flag is set.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> <em>iff</em> <code>packet</code> contains a <code>TcpPacket</code> for which the SYN flag is set,
+         <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="isAck-org.pcap4j.core.PcapPacket-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isAck</h4>
+<pre>public static&nbsp;boolean&nbsp;isAck(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
+<div class="block">Checks if <code>packet</code> wraps a TCP packet th        at has the ACK flag set.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>packet</code> - A <code>PcapPacket</code> that is suspected to contain a <code>TcpPacket</code> for which the ACK flag is set.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> <em>iff</em> <code>packet</code> contains a <code>TcpPacket</code> for which the ACK flag is set,
+         <code>false</code> otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="clusterToListOfPcapPackets-org.apache.commons.math3.stat.clustering.Cluster-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clusterToListOfPcapPackets</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;clusterToListOfPcapPackets(org.apache.commons.math3.stat.clustering.Cluster&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;cluster)</pre>
+<div class="block">Transform a <code>Cluster</code> of <code>PcapPacketPair</code> objects into a <code>List</code> of <code>List</code> of
+ <code>PcapPacket</code> objects.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cluster</code> - A <code>Cluster</code> of <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><code>PcapPacketPair</code></a> objects that needs to be transformed.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects as the result of the transformation.</dd>
+</dl>
+</li>
+</ul>
+<a name="concatSequences-java.util.List-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>concatSequences</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;concatSequences(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
+                                                                                                         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">Concatenate sequences in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.
+ We cross-check these with <code>List</code> of <code>Conversation</code> objects to see
+ if two <code>List</code> of <code>PcapPacket</code> objects actually belong to the same <code>Conversation</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of
+          <code>PcapPacket</code> objects that needs to be checked and concatenated.</dd>
+<dd><code>conversations</code> - 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 as reference for concatenation.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>List</code> of <code>List</code> of <code>List</code> of
+          <code>PcapPacket</code> objects as the result of the concatenation.</dd>
+</dl>
+</li>
+</ul>
+<a name="sortSequences-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sortSequences</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;sortSequences(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures)</pre>
+<div class="block">Sort the sequences in the <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.
+ The purpose of this is to sort the order of sequences in the sequence list. For detection purposes, we need
+ to know if one sequence occurs earlier/later in time with respect to the other sequences for more confidence
+ in detecting the occurrence of an event.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects that needs sorting.
+                   We assume that innermost <code>List</code> of <code>PcapPacket</code> objects have been sorted ascending
+                   by timestamps. By the time we use this method, we should have sorted it when calling the
+                   <code>clusterToListOfPcapPackets</code> method.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A sorted <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</dd>
+</dl>
+</li>
+</ul>
+<a name="printSignatures-java.util.List-java.io.PrintWriter-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>printSignatures</h4>
+<pre>public static&nbsp;void&nbsp;printSignatures(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
+                                   java.io.PrintWriter&nbsp;resultsWriter,
+                                   boolean&nbsp;printToOutput)</pre>
+<div class="block">Print signatures in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of
+          <code>PcapPacket</code> objects that needs to be printed.</dd>
+<dd><code>resultsWriter</code> - PrintWriter object to write into log file.</dd>
+<dd><code>printToOutput</code> - Boolean to decide whether to print out to screen or just log file.</dd>
+</dl>
+</li>
+</ul>
+<a name="extractRangeCorePoints-java.util.List-double-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>extractRangeCorePoints</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;extractRangeCorePoints(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;pairs,
+                                                                                                double&nbsp;eps,
+                                                                                                int&nbsp;minPts)</pre>
+<div class="block">Extract core point range in the form of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pairs</code> - The pairs for core points extraction.</dd>
+<dd><code>eps</code> - Epsilon value for the DBSCAN algorithm.</dd>
+<dd><code>minPts</code> - minPts value for the DBSCAN algorithm.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects that contains core points range
+          in the first and second element.</dd>
+</dl>
+</li>
+</ul>
+<a name="isRangeBasedMatching-java.util.List-double-java.util.List...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isRangeBasedMatching</h4>
+<pre>public static&nbsp;boolean&nbsp;isRangeBasedMatching(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
+                                           double&nbsp;eps,
+                                           java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;...&nbsp;otherSignatures)</pre>
+<div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
+ We go for a conservative approach (strict matching) when there is no range or there are ranges but the
+ ranges overlap across multiple signatures, e.g., ON and OFF signatures.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signature</code> - The signature we want to check and overwrite if needed.</dd>
+<dd><code>eps</code> - Epsilon value for the DBSCAN algorithm.</dd>
+<dd><code>otherSignatures</code> - Other signatures we want to check against this signature.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A boolean that is True when range-based matching is used.</dd>
+</dl>
+</li>
+</ul>
+<a name="useRangeBasedMatching-java.util.List-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>useRangeBasedMatching</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;useRangeBasedMatching(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
+                                                                                                               java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;corePointRange)</pre>
+<div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
+ We go for a conservative approach (strict matching) when there is no range or there are ranges but the
+ ranges overlap across multiple signatures, e.g., ON and OFF signatures.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signature</code> - The signature we want to check and overwrite if needed.</dd>
+<dd><code>corePointRange</code> - The core points range of this signature.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A boolean that is True when range-based matching is used.</dd>
+</dl>
+</li>
+</ul>
+<a name="isConservativeChecking-java.util.List-java.util.List-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isConservativeChecking</h4>
+<pre>public static&nbsp;boolean&nbsp;isConservativeChecking(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
+                                             java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;otherSignature,
+                                             double&nbsp;eps)</pre>
+<div class="block">Check if there is any overlap between the signature stored in this class and another signature.
+ Conditions:
+ 1) If both signatures do not have any range, then we need to do conservative checking (return true).
+ 2) If both signatures have the same number of packets/packet lengths, then we check the range; if the
+    numbers of packets/packet lengths are different then we assume that there is no overlap.
+ 3) If there is any range in the signatures, then we need to check for overlap.
+ 4) If there is overlap for EVERY packet/packet length, then we return true (conservative checking);
+    otherwise false (range-based checking).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signature</code> - A <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects to be checked
+                  for overlaps with the other signature.</dd>
+<dd><code>otherSignature</code> - A <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects to be checked
+                       for overlaps with the signature.</dd>
+<dd><code>eps</code> - Epsilon value for the DBSCAN algorithm.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A boolean that is true if there is an overlap; false otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeSequenceFromSignature-java.util.List-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>removeSequenceFromSignature</h4>
+<pre>public static&nbsp;void&nbsp;removeSequenceFromSignature(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
+                                               int&nbsp;sequenceIndex)</pre>
+<div class="block">Remove a sequence in a signature object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of
+          <code>PcapPacket</code> objects.</dd>
+<dd><code>sequenceIndex</code> - An index for a sequence that consists of {<code>List</code> of <code>List</code> of
+          <code>PcapPacket</code> objects.</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/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/util/PcapPacketUtils.html" target="_top">Frames</a></li>
+<li><a href="PcapPacketUtils.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/util/PrintUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PrintUtils.html
new file mode 100644 (file)
index 0000000..94714e0
--- /dev/null
@@ -0,0 +1,419 @@
+<!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>PrintUtils</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="PrintUtils";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":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/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util"><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/util/PrintUtils.html" target="_top">Frames</a></li>
+<li><a href="PrintUtils.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.util</div>
+<h2 title="Class PrintUtils" class="title">Class PrintUtils</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>edu.uci.iotproject.util.PrintUtils</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PrintUtils</span>
+extends java.lang.Object</pre>
+<div class="block">Utility methods for generating (output) strings.</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="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.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#deserializeClustersFromFile-java.lang.String-">deserializeClustersFromFile</a></span>(java.lang.String&nbsp;fileName)</code>
+<div class="block">Read the list of list of packet pairs <code>List&lt;List&lt;PcapPacket&gt;&gt;</code> from a file.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#deserializeFromFile-java.lang.String-">deserializeFromFile</a></span>(java.lang.String&nbsp;fileName)</code>
+<div class="block">Read the list of list of packet pairs <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code> from a file.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#serializeClustersIntoFile-java.lang.String-java.util.List-">serializeClustersIntoFile</a></span>(java.lang.String&nbsp;fileName,
+                         java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;clusterPackets)</code>
+<div class="block">Write the list of list of packet pairs <code>List&lt;List&lt;PcapPacket&gt;&gt;</code> into a file.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#serializeIntoFile-java.lang.String-java.util.List-">serializeIntoFile</a></span>(java.lang.String&nbsp;fileName,
+                 java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature)</code>
+<div class="block">Write the signature and cluster analysis <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code> into a file.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#toCsv-edu.uci.iotproject.analysis.PcapPacketPair-">toCsv</a></span>(<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;packetPair)</code>
+<div class="block">Converts a <code>PcapPacketPair</code> into a CSV string containing the packet lengths of the two packets in the pair.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#toCsv-edu.uci.iotproject.analysis.PcapPacketPair-edu.uci.iotproject.DnsMap-">toCsv</a></span>(<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;packetPair,
+     <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</code>
+<div class="block">Converts a <code>PcapPacketPair</code> into a CSV string containing the packet lengths of the two packets in the pair
+ followed by the source of each packet.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html#toSummaryString-org.apache.commons.math3.stat.clustering.Cluster-">toSummaryString</a></span>(org.apache.commons.math3.stat.clustering.Cluster&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;cluster)</code>
+<div class="block">Generate a string that summarizes/describes <code>cluster</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">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="serializeClustersIntoFile-java.lang.String-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializeClustersIntoFile</h4>
+<pre>public static&nbsp;void&nbsp;serializeClustersIntoFile(java.lang.String&nbsp;fileName,
+                                             java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;clusterPackets)</pre>
+<div class="block">Write the list of list of packet pairs <code>List&lt;List&lt;PcapPacket&gt;&gt;</code> into a file.
+
+ After the DBSCAN algorithm derives the clusters from pairs, we save the signature in the form of list of
+ packet pairs. We harvest the pairs and transform them back into a list of PcapPacket objects.
+ We do not maintain the pairs in the form of <code>Cluster&lt;PcapPacketPair&gt;</code> objects because there might be
+ a situation where we could combine multiple PcapPacketPair objects into a longer signature, i.e., a string of
+ PcapPacket objects and not just a pair.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileName</code> - The path of the file in <code>String</code>. We could leave this one <code>null</code> if we wanted the
+                 default file name <code>SERIALIZABLE_FILE_PATH</code>.</dd>
+<dd><code>clusterPackets</code> - The <code>Cluster</code> objects in the form of list of <code>PcapPacket</code> objects.</dd>
+</dl>
+</li>
+</ul>
+<a name="serializeIntoFile-java.lang.String-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serializeIntoFile</h4>
+<pre>public static&nbsp;void&nbsp;serializeIntoFile(java.lang.String&nbsp;fileName,
+                                     java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature)</pre>
+<div class="block">Write the signature and cluster analysis <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code> into a file.
+
+ After the DBSCAN algorithm derives the clusters from pairs, we save the signature and cluster analysis
+ in the form of list of packet pairs. We harvest the pairs and transform them back into a list of PcapPacket
+ objects.
+ We do not maintain the pairs in the form of <code>Cluster&lt;PcapPacketPair&gt;</code> objects because there might be
+ a situation where we could combine multiple PcapPacketPair objects into a longer signature, i.e., a string of
+ PcapPacket objects and not just a pair.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileName</code> - The path of the file in <code>String</code>. We could leave this one <code>null</code> if we wanted the
+                 default file name <code>SERIALIZABLE_FILE_PATH</code>.</dd>
+<dd><code>signature</code> - The <code>Cluster</code> objects in the form of list of <code>PcapPacket</code> objects.</dd>
+</dl>
+</li>
+</ul>
+<a name="deserializeClustersFromFile-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deserializeClustersFromFile</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;deserializeClustersFromFile(java.lang.String&nbsp;fileName)</pre>
+<div class="block">Read the list of list of packet pairs <code>List&lt;List&lt;PcapPacket&gt;&gt;</code> from a file.
+
+ After the DBSCAN algorithm derives the clusters from pairs, we save the signature in the form of list of
+ packet pairs. We harvest the pairs and transform them back into a list of PcapPacket objects.
+ We do not maintain the pairs in the form of <code>Cluster&lt;PcapPacketPair&gt;</code> objects because there might be
+ a situation where we could combine multiple PcapPacketPair objects into a longer signature, i.e., a string of
+ PcapPacket objects and not just a pair.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileName</code> - The path of the file in <code>String</code>. We could leave this one <code>null</code> if we wanted the
+                 default file name <code>SERIALIZABLE_FILE_PATH</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The list of list of <code>Cluster</code> objects (<code>List&lt;List&lt;PcapPacket&gt;&gt;</code>) that is read from file.</dd>
+</dl>
+</li>
+</ul>
+<a name="deserializeFromFile-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deserializeFromFile</h4>
+<pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;deserializeFromFile(java.lang.String&nbsp;fileName)</pre>
+<div class="block">Read the list of list of packet pairs <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code> from a file.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileName</code> - The path of the file in <code>String</code>. We could leave this one <code>null</code> if we wanted the
+                 default file name <code>SERIALIZABLE_FILE_PATH</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The list of list of list of <code>Cluster</code> objects (<code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code>)
+         that is read from file.</dd>
+</dl>
+</li>
+</ul>
+<a name="toCsv-edu.uci.iotproject.analysis.PcapPacketPair-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toCsv</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;toCsv(<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;packetPair)</pre>
+<div class="block">Converts a <code>PcapPacketPair</code> into a CSV string containing the packet lengths of the two packets in the pair.
+
+ For example, the resulting string will be "123, 456" if the first packet of the pair has a length of 123 and the
+ second packet of the pair has a length of 456.
+
+ <b>Note:</b> if the <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><code>PcapPacketPair</code></a> has no second element, 0 is printed as the length of the second packet
+ in the pair.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a CSV string containing the packet lengths of the two packets of the given <code>PcapPacketPair</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="toCsv-edu.uci.iotproject.analysis.PcapPacketPair-edu.uci.iotproject.DnsMap-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toCsv</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;toCsv(<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&nbsp;packetPair,
+                                     <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a>&nbsp;ipHostnameMappings)</pre>
+<div class="block">Converts a <code>PcapPacketPair</code> into a CSV string containing the packet lengths of the two packets in the pair
+ followed by the source of each packet. The source will be a (set of) hostname(s) if the source IP can be resolved
+ to a (set of) hostname(s) using the provided <a href="../../../../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><code>DnsMap</code></a>.
+
+ For example, the resulting string will be "123, 456, 192.168.1.42, domain.com" if the first packet of the pair
+ has a length of 123, the second packet of the pair has a length of 456, the first packet of the pair the pair has
+ a source IP of '192.168.1.42' that cannot be resolved to a hostname, and the second packet of the pair has an IP
+ that resolves to 'domain.com'.
+
+ <b>Note:</b> if the <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><code>PcapPacketPair</code></a> has no second element, 0 is printed as the length of the second packet
+ in the pair, and null is printed for its source.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a CSV string containing the packet lengths of the two packets of the given <code>PcapPacketPair</code> as well
+         as their respective sources.</dd>
+</dl>
+</li>
+</ul>
+<a name="toSummaryString-org.apache.commons.math3.stat.clustering.Cluster-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toSummaryString</h4>
+<pre>public static&nbsp;java.lang.String&nbsp;toSummaryString(org.apache.commons.math3.stat.clustering.Cluster&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;cluster)</pre>
+<div class="block">Generate a string that summarizes/describes <code>cluster</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cluster</code> - The <code>Cluster</code> to summarize/describe.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A string that summarizes/describes <code>cluster</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/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util"><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/util/PrintUtils.html" target="_top">Frames</a></li>
+<li><a href="PrintUtils.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/util/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-frame.html
new file mode 100644 (file)
index 0000000..367e3c3
--- /dev/null
@@ -0,0 +1,21 @@
+<!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.util</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/util/package-summary.html" target="classFrame">edu.uci.iotproject.util</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="PcapPacketUtils.html" title="class in edu.uci.iotproject.util" target="classFrame">PcapPacketUtils</a></li>
+<li><a href="PrintUtils.html" title="class in edu.uci.iotproject.util" target="classFrame">PrintUtils</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html
new file mode 100644 (file)
index 0000000..887ccc9
--- /dev/null
@@ -0,0 +1,148 @@
+<!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.util</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.util";
+        }
+    }
+    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/trafficreassembly/layer3/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/util/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.util</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/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></td>
+<td class="colLast">
+<div class="block">Utility methods for inspecting <code>PcapPacket</code> properties.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></td>
+<td class="colLast">
+<div class="block">Utility methods for generating (output) strings.</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/trafficreassembly/layer3/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/util/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/util/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-tree.html
new file mode 100644 (file)
index 0000000..4b7d029
--- /dev/null
@@ -0,0 +1,136 @@
+<!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.util 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.util 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/trafficreassembly/layer3/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/util/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.util</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.util.<a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">PcapPacketUtils</span></a></li>
+<li type="circle">edu.uci.iotproject.util.<a href="../../../../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">PrintUtils</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/trafficreassembly/layer3/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?edu/uci/iotproject/util/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/help-doc.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/help-doc.html
new file mode 100644 (file)
index 0000000..dd5155b
--- /dev/null
@@ -0,0 +1,223 @@
+<!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:01 PDT 2019 -->
+<title>API Help</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="API Help";
+        }
+    }
+    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 class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.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">How This API Document Is Organized</h1>
+<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2>Overview</h2>
+<p>The <a href="overview-summary.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
+</li>
+<li class="blockList">
+<h2>Package</h2>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
+<ul>
+<li>Interfaces (italic)</li>
+<li>Classes</li>
+<li>Enums</li>
+<li>Exceptions</li>
+<li>Errors</li>
+<li>Annotation Types</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Class/Interface</h2>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
+<ul>
+<li>Class inheritance diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class/interface declaration</li>
+<li>Class/interface description</li>
+</ul>
+<ul>
+<li>Nested Class Summary</li>
+<li>Field Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+</ul>
+<ul>
+<li>Field Detail</li>
+<li>Constructor Detail</li>
+<li>Method Detail</li>
+</ul>
+<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</li>
+<li class="blockList">
+<h2>Annotation Type</h2>
+<p>Each annotation type has its own separate page with the following sections:</p>
+<ul>
+<li>Annotation Type declaration</li>
+<li>Annotation Type description</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+<li>Element Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Enum</h2>
+<p>Each enum has its own separate page with the following sections:</p>
+<ul>
+<li>Enum declaration</li>
+<li>Enum description</li>
+<li>Enum Constant Summary</li>
+<li>Enum Constant Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Tree (Class Hierarchy)</h2>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul>
+<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Deprecated API</h2>
+<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
+</li>
+<li class="blockList">
+<h2>Index</h2>
+<p>The <a href="index-files/index-1.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
+</li>
+<li class="blockList">
+<h2>Prev/Next</h2>
+<p>These links take you to the next or previous class, interface, package, or related page.</p>
+</li>
+<li class="blockList">
+<h2>Frames/No Frames</h2>
+<p>These links show and hide the HTML frames.  All pages are available with or without frames.</p>
+</li>
+<li class="blockList">
+<h2>All Classes</h2>
+<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
+</li>
+<li class="blockList">
+<h2>Serialized Form</h2>
+<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
+</li>
+<li class="blockList">
+<h2>Constant Field Values</h2>
+<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
+</li>
+</ul>
+<span class="emphasizedPhrase">This help file applies to API documentation generated using the standard doclet.</span></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 class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.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/index-files/index-1.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-1.html
new file mode 100644 (file)
index 0000000..e1299b5
--- /dev/null
@@ -0,0 +1,189 @@
+<!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>A-Index</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="A-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev Letter</li>
+<li><a href="index-2.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-1.html" target="_top">Frames</a></li>
+<li><a href="index-1.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:A">
+<!--   -->
+</a>
+<h2 class="title">A</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractClusterMatcher</span></a> - Class in <a href="../edu/uci/iotproject/detection/package-summary.html">edu.uci.iotproject.detection</a></dt>
+<dd>
+<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>
+</dd>
+<dt><a href="../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractSignatureDetector</span></a> - Class in <a href="../edu/uci/iotproject/detection/package-summary.html">edu.uci.iotproject.detection</a></dt>
+<dd>
+<div class="block">TODO add class documentation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/AbstractSignatureDetector.html#AbstractSignatureDetector-java.util.List-">AbstractSignatureDetector(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;)</a></span> - Constructor for class edu.uci.iotproject.detection.<a href="../edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection">AbstractSignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addFinPacket-org.pcap4j.core.PcapPacket-">addFinPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Adds a TCP FIN packet to the list of TCP FIN packets associated with this conversation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#addFlowObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver-">addFlowObserver(Layer2FlowObserver)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>
+<div class="block">Register as an observer of this flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/AbstractClusterMatcher.html#addObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">addObserver(ClusterMatcherObserver)</a></span> - Method in class edu.uci.iotproject.detection.<a href="../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a></dt>
+<dd>
+<div class="block">Register for callbacks from this cluster matcher.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#addObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">addObserver(SignatureDetectorObserver)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#addObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">addObserver(Layer3SignatureDetector.SignatureDetectionObserver)</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#addObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver-">addObserver(Layer2FlowReassemblerObserver)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#addPacket-org.pcap4j.core.PcapPacket-">addPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>
+<div class="block">Add a packet to this flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addPacket-org.pcap4j.core.PcapPacket-boolean-">addPacket(PcapPacket, boolean)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Add a packet to the list of packets associated with this conversation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addRstPacket-org.pcap4j.core.PcapPacket-">addRstPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Add a TCP segment for which the RST flag is set to this <code>Conversation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#addSynPacket-org.pcap4j.core.PcapPacket-">addSynPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Records a TCP SYN packet as pertaining to this conversation (adds it to the the internal list).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html#alignmentCost-T-T-">alignmentCost(T, T)</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a></dt>
+<dd>
+<div class="block">Calculate the cost of aligning <code>item1</code> with <code>item2</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">AlignmentPricer</span></a>&lt;<a href="../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="type parameter in AlignmentPricer">T</a>&gt; - Class in <a href="../edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html#AlignmentPricer-java.util.function.ToIntBiFunction-java.util.function.ToIntFunction-">AlignmentPricer(ToIntBiFunction&lt;T, T&gt;, ToIntFunction&lt;T&gt;)</a></span> - Constructor for class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">AlignmentPricer</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#ameAlignedWithNameShouldBe2--">ameAlignedWithNameShouldBe2()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#attemptAcknowledgementOfFin-org.pcap4j.core.PcapPacket-">attemptAcknowledgementOfFin(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Attempt to ACK any FIN packets held by this conversation.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev Letter</li>
+<li><a href="index-2.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-1.html" target="_top">Frames</a></li>
+<li><a href="index-1.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/index-files/index-10.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-10.html
new file mode 100644 (file)
index 0000000..6c31888
--- /dev/null
@@ -0,0 +1,213 @@
+<!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>L-Index</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="L-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-9.html">Prev Letter</a></li>
+<li><a href="index-11.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-10.html" target="_top">Frames</a></li>
+<li><a href="index-10.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:L">
+<!--   -->
+</a>
+<h2 class="title">L</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2AbstractMatcher</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a></dt>
+<dd>
+<div class="block">Base class for layer 2 matchers (<code>Layer2SequenceMatcher</code> and <code>Layer2RangeMatcher</code>).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#Layer2AbstractMatcher-java.util.List-">Layer2AbstractMatcher(List&lt;PcapPacket&gt;)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></dt>
+<dd>
+<div class="block">Create a <code>Layer2AbstractMatcher</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2ClusterMatcher</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a></dt>
+<dd>
+<div class="block">Attempts to detect members of a cluster (packet sequence mutations) in layer 2 flows.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#Layer2ClusterMatcher-java.util.List-int-boolean-double-">Layer2ClusterMatcher(List&lt;List&lt;PcapPacket&gt;&gt;, int, boolean, double)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#Layer2ClusterMatcher-java.util.List-java.util.function.Function-int-boolean-double-">Layer2ClusterMatcher(List&lt;List&lt;PcapPacket&gt;&gt;, Function&lt;Layer2Flow, Boolean&gt;, int, boolean, double)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></dt>
+<dd>
+<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>
+</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2Flow</span></a> - Class in <a href="../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">edu.uci.iotproject.trafficreassembly.layer2</a></dt>
+<dd>
+<div class="block">Models a layer 2 flow: groups packets exchanged between two specific endpoints (MAC addresses).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#Layer2Flow-org.pcap4j.util.MacAddress-org.pcap4j.util.MacAddress-">Layer2Flow(MacAddress, MacAddress)</a></span> - Constructor for class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowObserver</span></a> - Interface in <a href="../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">edu.uci.iotproject.trafficreassembly.layer2</a></dt>
+<dd>
+<div class="block">Interface for observing a <a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2Flow</code></a>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowReassembler</span></a> - Class in <a href="../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">edu.uci.iotproject.trafficreassembly.layer2</a></dt>
+<dd>
+<div class="block">Reassembles traffic flows at layer 2, i.e., for each combination of hosts, creates a list of packets exchanged
+ between said hosts.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#Layer2FlowReassembler--">Layer2FlowReassembler()</a></span> - Constructor for class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowReassemblerObserver</span></a> - Interface in <a href="../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">edu.uci.iotproject.trafficreassembly.layer2</a></dt>
+<dd>
+<div class="block">For observing a <a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><code>Layer2FlowReassembler</code></a>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2RangeMatcher</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a></dt>
+<dd>
+<div class="block">Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls
+ to <a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-"><code>Layer2RangeMatcher.matchPacket(PcapPacket)</code></a>, considering only layer 2 information.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#Layer2RangeMatcher-java.util.List-java.util.List-int-double-">Layer2RangeMatcher(List&lt;PcapPacket&gt;, List&lt;PcapPacket&gt;, int, double)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></dt>
+<dd>
+<div class="block">Create a <code>Layer2RangeMatcher</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2SequenceMatcher</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a></dt>
+<dd>
+<div class="block">Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls
+ to <a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-"><code>Layer2SequenceMatcher.matchPacket(PcapPacket)</code></a>, considering only layer 2 information.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#Layer2SequenceMatcher-java.util.List-int-">Layer2SequenceMatcher(List&lt;PcapPacket&gt;, int)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></dt>
+<dd>
+<div class="block">Create a <code>Layer2SequenceMatcher</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2SignatureDetector</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a></dt>
+<dd>
+<div class="block">Performs layer 2 signature detection.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#Layer2SignatureDetector-java.util.List-int-boolean-double-">Layer2SignatureDetector(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, int, boolean, double)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#Layer2SignatureDetector-java.util.List-java.util.List-int-boolean-double-">Layer2SignatureDetector(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, List&lt;Function&lt;Layer2Flow, Boolean&gt;&gt;, int, boolean, double)</a></span> - Constructor for class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Layer3ClusterMatcher</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer3/package-summary.html">edu.uci.iotproject.detection.layer3</a></dt>
+<dd>
+<div class="block">Searches a traffic trace for sequences of packets "belong to" a given cluster (in other words, attempts to classify
+ traffic as pertaining to a given cluster).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#Layer3ClusterMatcher-java.util.List-java.lang.String-int-boolean-double-edu.uci.iotproject.detection.ClusterMatcherObserver...-">Layer3ClusterMatcher(List&lt;List&lt;PcapPacket&gt;&gt;, String, int, boolean, double, ClusterMatcherObserver...)</a></span> - Constructor for class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></dt>
+<dd>
+<div class="block">Create a <a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Layer3SignatureDetector</span></a> - Class in <a href="../edu/uci/iotproject/detection/layer3/package-summary.html">edu.uci.iotproject.detection.layer3</a></dt>
+<dd>
+<div class="block">Detects an event signature that spans one or multiple TCP connections.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#Layer3SignatureDetector-java.util.List-java.lang.String-int-boolean-double-">Layer3SignatureDetector(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, String, int, boolean, double)</a></span> - Constructor for class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">LiveCapture</span></a> - Class in <a href="../edu/uci/iotproject/io/package-summary.html">edu.uci.iotproject.io</a></dt>
+<dd>
+<div class="block">Utility methods for setting up a <a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that reads live traffic from a network interface card.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/LiveCapture.html#LiveCapture--">LiveCapture()</a></span> - Constructor for class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io">LiveCapture</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-9.html">Prev Letter</a></li>
+<li><a href="index-11.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-10.html" target="_top">Frames</a></li>
+<li><a href="index-10.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/index-files/index-11.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-11.html
new file mode 100644 (file)
index 0000000..41ef918
--- /dev/null
@@ -0,0 +1,170 @@
+<!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>M-Index</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="M-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-10.html">Prev Letter</a></li>
+<li><a href="index-12.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-11.html" target="_top">Frames</a></li>
+<li><a href="index-11.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:M">
+<!--   -->
+</a>
+<h2 class="title">M</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">MacLayerFlowPattern</span></a> - Class in <a href="../edu/uci/iotproject/maclayer/package-summary.html">edu.uci.iotproject.maclayer</a></dt>
+<dd>
+<div class="block">TODO create base class for FlowPattern and derive MacLayer, TCP/IP layer versions from that.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html#MacLayerFlowPattern-java.lang.String-java.lang.String-java.util.List-">MacLayerFlowPattern(String, String, List&lt;Integer&gt;)</a></span> - Constructor for class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">MacLayerFlowPatternFinder</span></a> - Class in <a href="../edu/uci/iotproject/maclayer/package-summary.html">edu.uci.iotproject.maclayer</a></dt>
+<dd>
+<div class="block">Performs a search for <a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><code>FlowPattern</code></a>
+ TODO: May want to create an abstract FlowPatternFinder and then derive MacLayer, TcpipLayer FlowPatternFinders from that one.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html#MacLayerFlowPatternFinder-org.pcap4j.core.PcapHandle-edu.uci.iotproject.maclayer.MacLayerFlowPattern-">MacLayerFlowPatternFinder(PcapHandle, MacLayerFlowPattern)</a></span> - Constructor for class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPatternFinder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class edu.uci.iotproject.evaluation.<a href="../edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation">DetectionResultsAnalyzer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class edu.uci.iotproject.evaluation.<a href="../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation">SanitySignatureGenerator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/LiveCapture.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io">LiveCapture</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/SignatureGenerator.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject">SignatureGenerator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#mAlignedWithNameShouldBe6--">mAlignedWithNameShouldBe6()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></dt>
+<dd>
+<div class="block">See the implementer class for the following method.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></dt>
+<dd>
+<div class="block">Attempt to advance this <code>Layer2RangeMatcher</code> by matching <code>packet</code> against the packet that this
+ <code>Layer2RangeMatcher</code> expects as the next packet of the sequence it is searching for.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#matchPacket-org.pcap4j.core.PcapPacket-">matchPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></dt>
+<dd>
+<div class="block">Attempt to advance this <code>Layer2SequenceMatcher</code> by matching <code>packet</code> against the packet that this
+ <code>Layer2SequenceMatcher</code> expects as the next packet of the sequence it is searching for.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#meAlignedWithNameShouldBe4--">meAlignedWithNameShouldBe4()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#meanAlignedWithEmptyStringShouldBe8--">meanAlignedWithEmptyStringShouldBe8()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-10.html">Prev Letter</a></li>
+<li><a href="index-12.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-11.html" target="_top">Frames</a></li>
+<li><a href="index-11.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/index-files/index-12.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-12.html
new file mode 100644 (file)
index 0000000..340c315
--- /dev/null
@@ -0,0 +1,129 @@
+<!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>N-Index</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="N-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-11.html">Prev Letter</a></li>
+<li><a href="index-13.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-12.html" target="_top">Frames</a></li>
+<li><a href="index-12.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:N">
+<!--   -->
+</a>
+<h2 class="title">N</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#naemAlignedWithNameShouldBe4--">naemAlignedWithNameShouldBe4()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#nameAlignedWithNameShouldBe0--">nameAlignedWithNameShouldBe0()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-11.html">Prev Letter</a></li>
+<li><a href="index-13.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-12.html" target="_top">Frames</a></li>
+<li><a href="index-12.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/index-files/index-13.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-13.html
new file mode 100644 (file)
index 0000000..823b85e
--- /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>O-Index</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="O-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-12.html">Prev Letter</a></li>
+<li><a href="index-14.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-13.html" target="_top">Frames</a></li>
+<li><a href="index-13.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:O">
+<!--   -->
+</a>
+<h2 class="title">O</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch(AbstractClusterMatcher, List&lt;PcapPacket&gt;)</a></span> - Method in interface edu.uci.iotproject.detection.<a href="../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch(AbstractClusterMatcher, List&lt;PcapPacket&gt;)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch(AbstractClusterMatcher, List&lt;PcapPacket&gt;)</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><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(Layer2FlowReassembler, Layer2Flow)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html#onNewFlow-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-">onNewFlow(Layer2FlowReassembler, Layer2Flow)</a></span> - Method in interface edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html#onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">onNewPacket(Layer2Flow, PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2ClusterMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html#onNewPacket-edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow-org.pcap4j.core.PcapPacket-">onNewPacket(Layer2Flow, PcapPacket)</a></span> - Method in interface edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a></dt>
+<dd>
+<div class="block">Invoked when a new packet is added to the observed flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/SignatureDetectorObserver.html#onSignatureDetected-java.util.List-java.util.List-">onSignatureDetected(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, List&lt;List&lt;PcapPacket&gt;&gt;)</a></span> - Method in interface edu.uci.iotproject.detection.<a href="../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a></dt>
+<dd>
+<div class="block">Invoked when the signature detector has detected the presence of a signature in the traffic that it's examining.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-12.html">Prev Letter</a></li>
+<li><a href="index-14.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-13.html" target="_top">Frames</a></li>
+<li><a href="index-13.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/index-files/index-14.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-14.html
new file mode 100644 (file)
index 0000000..69b270a
--- /dev/null
@@ -0,0 +1,187 @@
+<!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>P-Index</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="P-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-13.html">Prev Letter</a></li>
+<li><a href="index-15.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-14.html" target="_top">Frames</a></li>
+<li><a href="index-14.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:P">
+<!--   -->
+</a>
+<h2 class="title">P</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html#parseTriggerTimestamp-java.lang.String-boolean-">parseTriggerTimestamp(String, boolean)</a></span> - Method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></dt>
+<dd>
+<div class="block">Parses a timestamp string to an <code>Instant</code> (UTC).</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">PcapHandleReader</span></a> - Class in <a href="../edu/uci/iotproject/io/package-summary.html">edu.uci.iotproject.io</a></dt>
+<dd>
+<div class="block">Reads packets from a <code>PcapHandle</code> (online or offline) and delivers those packets that pass the test exercised
+ by the provided <a href="../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><code>PcapPacketFilter</code></a> onto the provided <code>PacketListener</code>s.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PcapHandleReader.html#PcapHandleReader-org.pcap4j.core.PcapHandle-edu.uci.iotproject.analysis.PcapPacketFilter-org.pcap4j.core.PacketListener...-">PcapHandleReader(PcapHandle, PcapPacketFilter, PacketListener...)</a></span> - Constructor for class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></dt>
+<dd>
+<div class="block">Create a <code>PcapHandleReader</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis"><span class="typeNameLink">PcapPacketFilter</span></a> - Interface in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<div class="block">TODO add class documentation.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">PcapPacketPair</span></a> - Class in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<div class="block">
+     A simple wrapper for holding a pair of packets (e.g., a request and associated reply packet).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#PcapPacketPair-org.pcap4j.core.PcapPacket-org.pcap4j.core.PcapPacket-">PcapPacketPair(PcapPacket, PcapPacket)</a></span> - Constructor for class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">PcapPacketUtils</span></a> - Class in <a href="../edu/uci/iotproject/util/package-summary.html">edu.uci.iotproject.util</a></dt>
+<dd>
+<div class="block">Utility methods for inspecting <code>PcapPacket</code> properties.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#PcapPacketUtils--">PcapPacketUtils()</a></span> - Constructor for class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#performDetectionConservative--">performDetectionConservative()</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#performDetectionRangeBased--">performDetectionRangeBased()</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#performExtraction-org.pcap4j.core.PacketListener...-">performExtraction(PacketListener...)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PrintWriterUtils.html#print-java.lang.Object-java.io.PrintWriter-boolean-">print(Object, PrintWriter, boolean)</a></span> - Static method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io">PrintWriterUtils</a></dt>
+<dd>
+<div class="block">Invoke <code>PrintWriter.println(Object)</code> passing <code>line</code> as argument while also printing <code>line</code> to
+ standard output if <code>duplicateToStdOut</code> is <code>true</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PrintWriterUtils.html#printEmptyLine-java.io.PrintWriter-boolean-">printEmptyLine(PrintWriter, boolean)</a></span> - Static method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io">PrintWriterUtils</a></dt>
+<dd>
+<div class="block">Make writer (and standard output, if <code>duplicateToStdOut</code> is <code>true</code>) print an empty line.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PrintWriterUtils.html#println-java.lang.Object-java.io.PrintWriter-boolean-">println(Object, PrintWriter, boolean)</a></span> - Static method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io">PrintWriterUtils</a></dt>
+<dd>
+<div class="block">Invoke <code>PrintWriter.println(Object)</code> passing <code>line</code> as argument while also printing <code>line</code> to
+ standard output if <code>duplicateToStdOut</code> is <code>true</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#printSignatures-java.util.List-java.io.PrintWriter-boolean-">printSignatures(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, PrintWriter, boolean)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Print signatures in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">PrintUtils</span></a> - Class in <a href="../edu/uci/iotproject/util/package-summary.html">edu.uci.iotproject.util</a></dt>
+<dd>
+<div class="block">Utility methods for generating (output) strings.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">PrintWriterUtils</span></a> - Class in <a href="../edu/uci/iotproject/io/package-summary.html">edu.uci.iotproject.io</a></dt>
+<dd>
+<div class="block">Utility methods for (jointly) printing to a <code>PrintWriter</code> (and standard output).</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-13.html">Prev Letter</a></li>
+<li><a href="index-15.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-14.html" target="_top">Frames</a></li>
+<li><a href="index-14.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/index-files/index-15.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-15.html
new file mode 100644 (file)
index 0000000..75166bb
--- /dev/null
@@ -0,0 +1,161 @@
+<!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>R-Index</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="R-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-14.html">Prev Letter</a></li>
+<li><a href="index-16.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-15.html" target="_top">Frames</a></li>
+<li><a href="index-15.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:R">
+<!--   -->
+</a>
+<h2 class="title">R</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PcapHandleReader.html#readFromHandle--">readFromHandle()</a></span> - Method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></dt>
+<dd>
+<div class="block">Start reading (and filtering) packets from the provided <code>PcapHandle</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html#readTriggerTimes-java.lang.String-boolean-">readTriggerTimes(String, boolean)</a></span> - Method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></dt>
+<dd>
+<div class="block">Reads a file with trigger timestamps and parses the timestamps into <code>Instant</code>s using the rules specified
+ by <a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html#parseTriggerTimestamp-java.lang.String-boolean-"><code>TriggerTimesFileReader.parseTriggerTimestamp(String, boolean)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#removeDuplicates-java.util.List-">removeDuplicates(List&lt;UserAction&gt;)</a></span> - Static method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>
+<div class="block">Remove duplicates in <code>List</code> of <code>UserAction</code> objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#removeFlowObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver-">removeFlowObserver(Layer2FlowObserver)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>
+<div class="block">Deregister as an observer of this flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/AbstractClusterMatcher.html#removeObserver-edu.uci.iotproject.detection.ClusterMatcherObserver-">removeObserver(ClusterMatcherObserver)</a></span> - Method in class edu.uci.iotproject.detection.<a href="../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a></dt>
+<dd>
+<div class="block">Deregister for callbacks from this cluster matcher.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#removeObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">removeObserver(SignatureDetectorObserver)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#removeObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">removeObserver(Layer3SignatureDetector.SignatureDetectionObserver)</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#removeObserver-edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver-">removeObserver(Layer2FlowReassemblerObserver)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#removeSequenceFromSignature-java.util.List-int-">removeSequenceFromSignature(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, int)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Remove a sequence in a signature object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#returnConversation-java.util.List-java.util.List-">returnConversation(List&lt;PcapPacket&gt;, List&lt;Conversation&gt;)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-14.html">Prev Letter</a></li>
+<li><a href="index-16.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-15.html" target="_top">Frames</a></li>
+<li><a href="index-15.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/index-files/index-16.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-16.html
new file mode 100644 (file)
index 0000000..eb12651
--- /dev/null
@@ -0,0 +1,207 @@
+<!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>S-Index</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="S-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-15.html">Prev Letter</a></li>
+<li><a href="index-17.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-16.html" target="_top">Frames</a></li>
+<li><a href="index-16.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:S">
+<!--   -->
+</a>
+<h2 class="title">S</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">SampleIntegerAlignmentPricer</span></a> - Class in <a href="../edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html#SampleIntegerAlignmentPricer--">SampleIntegerAlignmentPricer()</a></span> - Constructor for class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html" title="class in edu.uci.iotproject.comparison.seqalignment">SampleIntegerAlignmentPricer</a></dt>
+<dd>
+<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>
+</dd>
+<dt><a href="../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">SanitySignatureGenerator</span></a> - Class in <a href="../edu/uci/iotproject/evaluation/package-summary.html">edu.uci.iotproject.evaluation</a></dt>
+<dd>
+<div class="block">Hacky utility for producing a sanity signature for negative test sets.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html#SanitySignatureGenerator--">SanitySignatureGenerator()</a></span> - Constructor for class edu.uci.iotproject.evaluation.<a href="../edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation">SanitySignatureGenerator</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">SequenceAlignment</span></a>&lt;<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="type parameter in SequenceAlignment">ALIGNMENT_UNIT</a>&gt; - Class in <a href="../edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a></dt>
+<dd>
+<div class="block">A generic implementation of the sequence alignment algorithm given in Kleinberg's and Tardos' "Algorithm Design".</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html#SequenceAlignment-edu.uci.iotproject.comparison.seqalignment.AlignmentPricer-">SequenceAlignment(AlignmentPricer&lt;ALIGNMENT_UNIT&gt;)</a></span> - Constructor for class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a></dt>
+<dd>
+<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>
+</dd>
+<dt><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test"><span class="typeNameLink">SequenceAlignmentTest</span></a> - Class in <a href="../edu/uci/iotproject/test/package-summary.html">edu.uci.iotproject.test</a></dt>
+<dd>
+<div class="block">Tests the implementation of <a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment"><code>SequenceAlignment</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#SequenceAlignmentTest--">SequenceAlignmentTest()</a></span> - Constructor for class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">SequenceExtraction</span></a> - Class in <a href="../edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a></dt>
+<dd>
+<div class="block">TODO add class documentation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#SequenceExtraction--">SequenceExtraction()</a></span> - Constructor for class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#SequenceExtraction-edu.uci.iotproject.comparison.seqalignment.SequenceAlignment-">SequenceExtraction(SequenceAlignment&lt;Integer&gt;)</a></span> - Constructor for class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#serializeClustersIntoFile-java.lang.String-java.util.List-">serializeClustersIntoFile(String, List&lt;List&lt;PcapPacket&gt;&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Write the list of list of packet pairs <code>List&lt;List&lt;PcapPacket&gt;&gt;</code> into a file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#serializeIntoFile-java.lang.String-java.util.List-">serializeIntoFile(String, List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Write the signature and cluster analysis <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code> into a file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#setDnsMap-edu.uci.iotproject.DnsMap-">setDnsMap(DnsMap)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#setTimestampFormatter-java.time.format.DateTimeFormatter-">setTimestampFormatter(DateTimeFormatter)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketFilter.html#shouldIncludePacket-org.pcap4j.core.PcapPacket-">shouldIncludePacket(PcapPacket)</a></span> - Method in interface edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#shouldIncludePacket-org.pcap4j.core.PcapPacket-">shouldIncludePacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">SignatureDetectorObserver</span></a> - Interface in <a href="../edu/uci/iotproject/detection/package-summary.html">edu.uci.iotproject.detection</a></dt>
+<dd>
+<div class="block">Used for registering for notifications from a signature detector.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject"><span class="typeNameLink">SignatureGenerator</span></a> - Class in <a href="../edu/uci/iotproject/package-summary.html">edu.uci.iotproject</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/SignatureGenerator.html#SignatureGenerator--">SignatureGenerator()</a></span> - Constructor for class edu.uci.iotproject.<a href="../edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject">SignatureGenerator</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#sortConversationList-java.util.List-">sortConversationList(List&lt;Conversation&gt;)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#sortSequences-java.util.List-">sortSequences(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Sort the sequences in the <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PcapHandleReader.html#stopReading--">stopReading()</a></span> - Method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></dt>
+<dd>
+<div class="block">Stop reading from the wrapped <code>PcapHandle</code>.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-15.html">Prev Letter</a></li>
+<li><a href="index-17.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-16.html" target="_top">Frames</a></li>
+<li><a href="index-16.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/index-files/index-17.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-17.html
new file mode 100644 (file)
index 0000000..101fe39
--- /dev/null
@@ -0,0 +1,185 @@
+<!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>T-Index</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="T-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-16.html">Prev Letter</a></li>
+<li><a href="index-18.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-17.html" target="_top">Frames</a></li>
+<li><a href="index-17.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:T">
+<!--   -->
+</a>
+<h2 class="title">T</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">TcpConversationUtils</span></a> - Class in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#TcpConversationUtils--">TcpConversationUtils()</a></span> - Constructor for class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">TcpConversationUtils.SignaturePosition</span></a> - Enum in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<div class="block">Identifies the adjacency type of the signature for merging.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">TcpReassembler</span></a> - Class in <a href="../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">edu.uci.iotproject.trafficreassembly.layer3</a></dt>
+<dd>
+<div class="block">Reassembles TCP conversations (streams).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html#TcpReassembler--">TcpReassembler()</a></span> - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">TcpReassembler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html#toCompactString--">toCompactString()</a></span> - Method in enum edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></dt>
+<dd>
+<div class="block">Get a compact string representation of this <code>Direction</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#toCsv-edu.uci.iotproject.analysis.PcapPacketPair-">toCsv(PcapPacketPair)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Converts a <code>PcapPacketPair</code> into a CSV string containing the packet lengths of the two packets in the pair.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#toCsv-edu.uci.iotproject.analysis.PcapPacketPair-edu.uci.iotproject.DnsMap-">toCsv(PcapPacketPair, DnsMap)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Converts a <code>PcapPacketPair</code> into a CSV string containing the packet lengths of the two packets in the pair
+ followed by the source of each packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#toString--">toString()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#toString--">toString()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#toString--">toString()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#toString--">toString()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#toSummaryString-org.apache.commons.math3.stat.clustering.Cluster-">toSummaryString(Cluster&lt;PcapPacketPair&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Generate a string that summarizes/describes <code>cluster</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">TrafficLabeler</span></a> - Class in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#TrafficLabeler-java.util.List-">TrafficLabeler(List&lt;UserAction&gt;)</a></span> - Constructor for class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">TriggerTimesFileReader</span></a> - Class in <a href="../edu/uci/iotproject/io/package-summary.html">edu.uci.iotproject.io</a></dt>
+<dd>
+<div class="block">Parses a file to obtain the timestamps at which the smart plug was toggled on/off.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html#TriggerTimesFileReader--">TriggerTimesFileReader()</a></span> - Constructor for class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">TriggerTrafficExtractor</span></a> - Class in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<div class="block">TODO add class documentation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#TriggerTrafficExtractor-java.lang.String-java.util.List-java.lang.String-">TriggerTrafficExtractor(String, List&lt;Instant&gt;, String)</a></span> - Constructor for class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-16.html">Prev Letter</a></li>
+<li><a href="index-18.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-17.html" target="_top">Frames</a></li>
+<li><a href="index-17.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/index-files/index-18.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-18.html
new file mode 100644 (file)
index 0000000..8404b75
--- /dev/null
@@ -0,0 +1,139 @@
+<!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>U-Index</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="U-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-17.html">Prev Letter</a></li>
+<li><a href="index-19.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-18.html" target="_top">Frames</a></li>
+<li><a href="index-18.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:U">
+<!--   -->
+</a>
+<h2 class="title">U</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis"><span class="typeNameLink">UserAction</span></a> - Class in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<div class="block">Models a user's action, such as toggling the smart plug on/off at a given time.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#UserAction-edu.uci.iotproject.analysis.UserAction.Type-java.time.Instant-">UserAction(UserAction.Type, Instant)</a></span> - Constructor for class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis"><span class="typeNameLink">UserAction.Type</span></a> - Enum in <a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></dt>
+<dd>
+<div class="block">Enum for indicating what type of action the user performed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#useRangeBasedMatching-java.util.List-java.util.List-">useRangeBasedMatching(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-17.html">Prev Letter</a></li>
+<li><a href="index-19.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-18.html" target="_top">Frames</a></li>
+<li><a href="index-18.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/index-files/index-19.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-19.html
new file mode 100644 (file)
index 0000000..cbab76a
--- /dev/null
@@ -0,0 +1,157 @@
+<!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>V-Index</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="V-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-18.html">Prev Letter</a></li>
+<li><a href="index-20.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-19.html" target="_top">Frames</a></li>
+<li><a href="index-19.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:V">
+<!--   -->
+</a>
+<h2 class="title">V</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/DnsMap.html#validateAndAddNewEntry-org.pcap4j.core.PcapPacket-">validateAndAddNewEntry(PcapPacket)</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></dt>
+<dd>
+<div class="block">Checks DNS packet and build the map data structure that
+ maps IP addresses to DNS hostnames</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.Type.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html#values--">values()</a></span> - Static method in enum edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html" title="enum in edu.uci.iotproject.analysis">TcpConversationUtils.SignaturePosition</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.Type.html#values--">values()</a></span> - Static method in enum edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.Type.html" title="enum in edu.uci.iotproject.analysis">UserAction.Type</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html#values--">values()</a></span> - Static method in enum edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3">Conversation.Direction</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-18.html">Prev Letter</a></li>
+<li><a href="index-20.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-19.html" target="_top">Frames</a></li>
+<li><a href="index-19.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/index-files/index-2.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-2.html
new file mode 100644 (file)
index 0000000..ac0195e
--- /dev/null
@@ -0,0 +1,175 @@
+<!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>C-Index</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="C-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-1.html">Prev Letter</a></li>
+<li><a href="index-3.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-2.html" target="_top">Frames</a></li>
+<li><a href="index-2.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:C">
+<!--   -->
+</a>
+<h2 class="title">C</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html#calculateAlignment-ALIGNMENT_UNIT:A-ALIGNMENT_UNIT:A-">calculateAlignment(ALIGNMENT_UNIT[], ALIGNMENT_UNIT[])</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceAlignment</a></dt>
+<dd>
+<div class="block">Calculates the cost of aligning <code>sequence1</code> with <code>sequence2</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#centroidOf-java.util.Collection-">centroidOf(Collection&lt;PcapPacketPair&gt;)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">ClusterMatcherObserver</span></a> - Interface in <a href="../edu/uci/iotproject/detection/package-summary.html">edu.uci.iotproject.detection</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#clusterToListOfPcapPackets-org.apache.commons.math3.stat.clustering.Cluster-">clusterToListOfPcapPackets(Cluster&lt;PcapPacketPair&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Transform a <code>Cluster</code> of <code>PcapPacketPair</code> objects into a <code>List</code> of <code>List</code> of
+ <code>PcapPacket</code> objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#concatSequences-java.util.List-java.util.List-">concatSequences(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, List&lt;Conversation&gt;)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Concatenate sequences in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Conversation</span></a> - Class in <a href="../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">edu.uci.iotproject.trafficreassembly.layer3</a></dt>
+<dd>
+<div class="block">Models a (TCP) conversation/connection/session/flow (packet's belonging to the same session between a client and a
+ server).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#Conversation-java.lang.String-int-java.lang.String-int-">Conversation(String, int, String, int)</a></span> - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Constructs a new <code>Conversation</code>.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Conversation.Direction</span></a> - Enum in <a href="../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">edu.uci.iotproject.trafficreassembly.layer3</a></dt>
+<dd>
+<div class="block">Utility enum for expressing the direction of a packet pertaining to this <code>Conversation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">countPacketLengthFrequencies(Conversation)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-java.util.Collection-">countPacketLengthFrequencies(Collection&lt;Conversation&gt;)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<div class="block">Like <a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketLengthFrequencies-edu.uci.iotproject.trafficreassembly.layer3.Conversation-"><code>TcpConversationUtils.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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketPairFrequencies-java.util.Collection-">countPacketPairFrequencies(Collection&lt;PcapPacketPair&gt;)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketPairFrequenciesByHostname-java.util.Collection-edu.uci.iotproject.DnsMap-">countPacketPairFrequenciesByHostname(Collection&lt;Conversation&gt;, DnsMap)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#countPacketSequenceFrequencies-java.util.Collection-">countPacketSequenceFrequencies(Collection&lt;Conversation&gt;)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-1.html">Prev Letter</a></li>
+<li><a href="index-3.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-2.html" target="_top">Frames</a></li>
+<li><a href="index-2.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/index-files/index-20.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-20.html
new file mode 100644 (file)
index 0000000..6afd0de
--- /dev/null
@@ -0,0 +1,129 @@
+<!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>Z-Index</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="Z-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-19.html">Prev Letter</a></li>
+<li>Next Letter</li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-20.html" target="_top">Frames</a></li>
+<li><a href="index-20.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:Z">
+<!--   -->
+</a>
+<h2 class="title">Z</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html#ZONE_ID_BUDAPEST">ZONE_ID_BUDAPEST</a></span> - Static variable in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html#ZONE_ID_LOS_ANGELES">ZONE_ID_LOS_ANGELES</a></span> - Static variable in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io">TriggerTimesFileReader</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-19.html">Prev Letter</a></li>
+<li>Next Letter</li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-20.html" target="_top">Frames</a></li>
+<li><a href="index-20.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/index-files/index-3.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-3.html
new file mode 100644 (file)
index 0000000..2f48318
--- /dev/null
@@ -0,0 +1,147 @@
+<!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>D-Index</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="D-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-2.html">Prev Letter</a></li>
+<li><a href="index-4.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-3.html" target="_top">Frames</a></li>
+<li><a href="index-3.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:D">
+<!--   -->
+</a>
+<h2 class="title">D</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#deserializeClustersFromFile-java.lang.String-">deserializeClustersFromFile(String)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Read the list of list of packet pairs <code>List&lt;List&lt;PcapPacket&gt;&gt;</code> from a file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PrintUtils.html#deserializeFromFile-java.lang.String-">deserializeFromFile(String)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util">PrintUtils</a></dt>
+<dd>
+<div class="block">Read the list of list of packet pairs <code>List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;</code> from a file.</div>
+</dd>
+<dt><a href="../edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">DetectionResultsAnalyzer</span></a> - Class in <a href="../edu/uci/iotproject/evaluation/package-summary.html">edu.uci.iotproject.evaluation</a></dt>
+<dd>
+<div class="block">Utility for comparing detected events to logged (actual) events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html#DetectionResultsAnalyzer--">DetectionResultsAnalyzer()</a></span> - Constructor for class edu.uci.iotproject.evaluation.<a href="../edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation">DetectionResultsAnalyzer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#distanceFrom-edu.uci.iotproject.analysis.PcapPacketPair-">distanceFrom(PcapPacketPair)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><span class="typeNameLink">DnsMap</span></a> - Class in <a href="../edu/uci/iotproject/package-summary.html">edu.uci.iotproject</a></dt>
+<dd>
+<div class="block">This is a class that does DNS mapping.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/DnsMap.html#DnsMap--">DnsMap()</a></span> - Constructor for class edu.uci.iotproject.<a href="../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-2.html">Prev Letter</a></li>
+<li><a href="index-4.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-3.html" target="_top">Frames</a></li>
+<li><a href="index-3.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/index-files/index-4.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-4.html
new file mode 100644 (file)
index 0000000..dfad9cf
--- /dev/null
@@ -0,0 +1,185 @@
+<!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>E-Index</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="E-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-3.html">Prev Letter</a></li>
+<li><a href="index-5.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-4.html" target="_top">Frames</a></li>
+<li><a href="index-4.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:E">
+<!--   -->
+</a>
+<h2 class="title">E</h2>
+<dl>
+<dt><a href="../edu/uci/iotproject/package-summary.html">edu.uci.iotproject</a> - package edu.uci.iotproject</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a> - package edu.uci.iotproject.analysis</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a> - package edu.uci.iotproject.comparison.seqalignment</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/detection/package-summary.html">edu.uci.iotproject.detection</a> - package edu.uci.iotproject.detection</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a> - package edu.uci.iotproject.detection.layer2</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/detection/layer3/package-summary.html">edu.uci.iotproject.detection.layer3</a> - package edu.uci.iotproject.detection.layer3</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/evaluation/package-summary.html">edu.uci.iotproject.evaluation</a> - package edu.uci.iotproject.evaluation</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/io/package-summary.html">edu.uci.iotproject.io</a> - package edu.uci.iotproject.io</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/maclayer/package-summary.html">edu.uci.iotproject.maclayer</a> - package edu.uci.iotproject.maclayer</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/test/package-summary.html">edu.uci.iotproject.test</a> - package edu.uci.iotproject.test</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">edu.uci.iotproject.trafficreassembly.layer2</a> - package edu.uci.iotproject.trafficreassembly.layer2</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">edu.uci.iotproject.trafficreassembly.layer3</a> - package edu.uci.iotproject.trafficreassembly.layer3</dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/util/package-summary.html">edu.uci.iotproject.util</a> - package edu.uci.iotproject.util</dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#emanAlignedWithNameShouldBe6--">emanAlignedWithNameShouldBe6()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block"><em>Note:</em> currently, equality is determined based on pairwise equality of the elements of the four tuple
+ (<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mClientIp"><code>Conversation.mClientIp</code></a>, <a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mClientPort"><code>Conversation.mClientPort</code></a>, <a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mServerIp"><code>Conversation.mServerIp</code></a>, <a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#mServerPort"><code>Conversation.mServerPort</code></a>) for <code>this</code> and
+ <code>obj</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#extract-java.util.List-">extract(List&lt;Conversation&gt;)</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#extractByTlsAppData-java.util.List-">extractByTlsAppData(List&lt;Conversation&gt;)</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment"><span class="typeNameLink">ExtractedSequence</span></a> - Class in <a href="../edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a></dt>
+<dd>
+<div class="block">TODO add class documentation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html#ExtractedSequence-edu.uci.iotproject.trafficreassembly.layer3.Conversation-int-boolean-">ExtractedSequence(Conversation, int, boolean)</a></span> - Constructor for class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#extractPacketPairs-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">extractPacketPairs(Conversation)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#extractRangeCorePoints-java.util.List-double-int-">extractRangeCorePoints(List&lt;List&lt;PcapPacket&gt;&gt;, double, int)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Extract core point range in the form of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#extractTlsAppDataPacketPairs-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">extractTlsAppDataPacketPairs(Conversation)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-3.html">Prev Letter</a></li>
+<li><a href="index-5.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-4.html" target="_top">Frames</a></li>
+<li><a href="index-4.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/index-files/index-5.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-5.html
new file mode 100644 (file)
index 0000000..d0924da
--- /dev/null
@@ -0,0 +1,171 @@
+<!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>F-Index</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="F-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-4.html">Prev Letter</a></li>
+<li><a href="index-6.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-5.html" target="_top">Frames</a></li>
+<li><a href="index-5.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:F">
+<!--   -->
+</a>
+<h2 class="title">F</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#fameAlignedWithNameShouldBe1--">fameAlignedWithNameShouldBe1()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">FinAckPair</span></a> - Class in <a href="../edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">edu.uci.iotproject.trafficreassembly.layer3</a></dt>
+<dd>
+<div class="block">Groups a FIN packet and its corresponding ACK packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#FinAckPair-org.pcap4j.core.PcapPacket-">FinAckPair(PcapPacket)</a></span> - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></dt>
+<dd>
+<div class="block">Constructs a <code>FinAckPair</code> given a FIN packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#FinAckPair-org.pcap4j.core.PcapPacket-org.pcap4j.core.PcapPacket-">FinAckPair(PcapPacket, PcapPacket)</a></span> - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></dt>
+<dd>
+<div class="block">Constructs a <code>FinAckPair</code> given a FIN and an ACK packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html#findFlowPattern--">findFlowPattern()</a></span> - Method in class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPatternFinder</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">FlowPattern</span></a> - Class in <a href="../edu/uci/iotproject/package-summary.html">edu.uci.iotproject</a></dt>
+<dd>
+<div class="block">TODO add class documentation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#FlowPattern-java.lang.String-java.lang.String-org.pcap4j.core.PcapHandle-">FlowPattern(String, String, PcapHandle)</a></span> - Constructor for class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Constructor #1</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#FlowPattern-java.lang.String-java.util.List-org.pcap4j.core.PcapHandle-">FlowPattern(String, List&lt;String&gt;, PcapHandle)</a></span> - Constructor for class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Constructor #2</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/LiveCapture.html#fromCliNicSelection-org.pcap4j.core.PacketListener...-">fromCliNicSelection(PacketListener...)</a></span> - Static method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io">LiveCapture</a></dt>
+<dd>
+<div class="block">Prompts the user to pick a Network Interface Card (NIC) for which live traffic is to be captured, then creates a
+ <a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from that NIC.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/LiveCapture.html#fromNic-org.pcap4j.core.PcapNetworkInterface-org.pcap4j.core.PacketListener...-">fromNic(PcapNetworkInterface, PacketListener...)</a></span> - Static method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io">LiveCapture</a></dt>
+<dd>
+<div class="block">Creates a <a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> that is ready to start capturing live traffic from the provided Network
+ Interface Card (NIC).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#fromPcapPacket-org.pcap4j.core.PcapPacket-boolean-">fromPcapPacket(PcapPacket, boolean)</a></span> - Static method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Factory method for creating a <code>Conversation</code> from a <code>PcapPacket</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#fromString-java.lang.String-">fromString(String)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>
+<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>UserAction.toString()</code></a>.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-4.html">Prev Letter</a></li>
+<li><a href="index-6.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-5.html" target="_top">Frames</a></li>
+<li><a href="index-5.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/index-files/index-6.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-6.html
new file mode 100644 (file)
index 0000000..548b5c9
--- /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:27:00 PDT 2019 -->
+<title>G-Index</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="G-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-5.html">Prev Letter</a></li>
+<li><a href="index-7.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-6.html" target="_top">Frames</a></li>
+<li><a href="index-6.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:G">
+<!--   -->
+</a>
+<h2 class="title">G</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html#getAlignmentAlgorithm--">getAlignmentAlgorithm()</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html" title="class in edu.uci.iotproject.comparison.seqalignment">SequenceExtraction</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#getCluster--">getCluster()</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></dt>
+<dd>
+<div class="block">Get the cluster that describes the packet sequence that this <a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><code>Layer3ClusterMatcher</code></a> is searching for.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#getCorrespondingAckPacket--">getCorrespondingAckPacket()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></dt>
+<dd>
+<div class="block">Get the corresponding ACK packet of this pair, if any.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#getDestinationIp-org.pcap4j.core.PcapPacket-">getDestinationIp(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Gets the destination IP (in decimal format) of an IPv4 packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#getDestinationPort-org.pcap4j.core.PcapPacket-">getDestinationPort(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Gets the destination port of a TCP packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getDirection-org.pcap4j.core.PcapPacket-">getDirection(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Determine the direction of <code>packet</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#getDnsMap--">getDnsMap()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#getEndpoint1--">getEndpoint1()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>
+<div class="block">Get the first endpoint of this flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#getEndpoint2--">getEndpoint2()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>
+<div class="block">Get the second endpoint of this flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#getEthDstAddr-org.pcap4j.core.PcapPacket-">getEthDstAddr(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Gets the destination address of the Ethernet part of <code>packet</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#getEthSrcAddr-org.pcap4j.core.PcapPacket-">getEthSrcAddr(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Gets the source address of the Ethernet part of <code>packet</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getFinAckPairs--">getFinAckPairs()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Retrieves an unmodifiable view of the list of <a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>FinAckPair</code></a>s associated with this <code>Conversation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#getFinPacket--">getFinPacket()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></dt>
+<dd>
+<div class="block">Get the FIN packet of this pair.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#getFirst--">getFirst()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#getFlowForAddresses-org.pcap4j.util.MacAddress-org.pcap4j.util.MacAddress-">getFlowForAddresses(MacAddress, MacAddress)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></dt>
+<dd>
+<div class="block">Get the traffic flow between two local endpoints (<code>MacAddress</code>es).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#getFlows--">getFlows()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></dt>
+<dd>
+<div class="block">Get all traffic flows, i.e., a traffic flow for each unique pair of endpoints (MAC addresses).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getHostname--">getHostname()</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getHostnameList--">getHostnameList()</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Get the list of associated hostnames.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/DnsMap.html#getHostnamesForIp-java.lang.String-">getHostnamesForIp(String)</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic--">getLabeledReassembledTcpTraffic()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>
+<div class="block">Get the labeled traffic reassembled as TCP connections (<b>note:</b> <em>discards</em> all non-TCP traffic).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic-edu.uci.iotproject.DnsMap-">getLabeledReassembledTcpTraffic(DnsMap)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>
+<div class="block">Like <a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledReassembledTcpTraffic--"><code>TrafficLabeler.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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic--">getLabeledTraffic()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>
+<div class="block">Get the labeled traffic.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic-java.util.function.Function-">getLabeledTraffic(Function&lt;List&lt;PcapPacket&gt;, T&gt;)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>
+<div class="block">Like <a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getLabeledTraffic--"><code>TrafficLabeler.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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getLastPacket--">getLastPacket()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></dt>
+<dd>
+<div class="block">Utility for <code>getMatchedPackets().get(getMatchedPackets().size()-1)</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getLength--">getLength()</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Get the length of the List of <code>FlowPattern</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getLength-java.lang.String-">getLength(String)</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Get the length of the List of <code>FlowPattern</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html#getLength--">getLength()</a></span> - Method in class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html#getMacPrefixRawBytes--">getMacPrefixRawBytes()</a></span> - Method in class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPackets--">getMatchedPackets()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getMatchedPacketsCount--">getMatchedPacketsCount()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html#getMaxAlignmentCost--">getMaxAlignmentCost()</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#getPacketLengthSequence-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">getPacketLengthSequence(Conversation)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html#getPacketLengthSequence--">getPacketLengthSequence()</a></span> - Method in class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#getPacketLengthSequenceTlsAppDataOnly-edu.uci.iotproject.trafficreassembly.layer3.Conversation-">getPacketLengthSequenceTlsAppDataOnly(Conversation)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getPacketOrder--">getPacketOrder()</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Get the sequence of packet lengths that defines this <code>FlowPattern</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getPacketOrder-java.lang.String-">getPacketOrder(String)</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>
+<div class="block">Get the sequence of packet lengths based on input hostname.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html#getPackets--">getPackets()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a></dt>
+<dd>
+<div class="block">Get the packets pertaining to this flow.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getPackets--">getPackets()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Get a list of packets pertaining to this <code>Conversation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#getPacketsIncludedCount--">getPacketsIncludedCount()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></dt>
+<dd>
+<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>TriggerTrafficExtractor.performExtraction(PacketListener...)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/FlowPattern.html#getPatternId--">getPatternId()</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject">FlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html#getPatternId--">getPatternId()</a></span> - Method in class edu.uci.iotproject.maclayer.<a href="../edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer">MacLayerFlowPattern</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html#getRepresentativeSequence--">getRepresentativeSequence()</a></span> - Method in class edu.uci.iotproject.comparison.seqalignment.<a href="../edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html" title="class in edu.uci.iotproject.comparison.seqalignment">ExtractedSequence</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getRstPackets--">getRstPackets()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Get the TCP segments pertaining to this <code>Conversation</code> for which it was detected that the RST flag is set.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#getSecond--">getSecond()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#getSourceIp-org.pcap4j.core.PcapPacket-">getSourceIp(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Gets the source IP (in decimal format) of an IPv4 packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#getSourcePort-org.pcap4j.core.PcapPacket-">getSourcePort(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Gets the source port of a TCP packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getSynPackets--">getSynPackets()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Get a list of SYN packets pertaining to this <code>Conversation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#getTargetLowerBound--">getTargetLowerBound()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#getTargetSequence--">getTargetSequence()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2AbstractMatcher</a></dt>
+<dd>
+<div class="block">See the implementer class for the following method.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html#getTargetSequencePacketCount--">getTargetSequencePacketCount()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SequenceMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html#getTargetUpperBound--">getTargetUpperBound()</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2">Layer2RangeMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html#getTcpConversations--">getTcpConversations()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">TcpReassembler</a></dt>
+<dd>
+<div class="block">Get the reassembled TCP connections.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#getTimestamp--">getTimestamp()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>
+<div class="block">Get the time at which the user performed this action.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#getTlsApplicationDataPackets--">getTlsApplicationDataPackets()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">If this <code>Conversation</code> is backing a TLS session (i.e., if the value of <a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isTls--"><code>Conversation.isTls()</code></a> is <code>true</code>),
+ get the packets labeled as TLS Application Data packets.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#getTotalPacketCount--">getTotalPacketCount()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>
+<div class="block">Get the total number of packets labeled by this <code>TrafficLabeler</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#getType--">getType()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>
+<div class="block">Get the specific type of action performed by the user.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TrafficLabeler.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TrafficLabeler.html" title="class in edu.uci.iotproject.analysis">TrafficLabeler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer2.<a href="../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2">Layer2SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3">Layer3ClusterMatcher</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.detection.layer3.<a href="../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3">Layer3SignatureDetector</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/DnsMap.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer2.<a href="../edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassembler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">TcpReassembler</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#groupConversationsByHostname-java.util.Collection-edu.uci.iotproject.DnsMap-">groupConversationsByHostname(Collection&lt;Conversation&gt;, DnsMap)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<div class="block">Given a collection of TCP conversations and associated DNS mappings, groups the conversations by hostname.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#groupConversationsByPacketSequence-java.util.Collection-boolean-">groupConversationsByPacketSequence(Collection&lt;Conversation&gt;, boolean)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#groupConversationsByTlsApplicationDataPacketSequence-java.util.Collection-">groupConversationsByTlsApplicationDataPacketSequence(Collection&lt;Conversation&gt;)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-5.html">Prev Letter</a></li>
+<li><a href="index-7.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-6.html" target="_top">Frames</a></li>
+<li><a href="index-6.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/index-files/index-7.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-7.html
new file mode 100644 (file)
index 0000000..ce00bd3
--- /dev/null
@@ -0,0 +1,134 @@
+<!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>H-Index</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="H-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-6.html">Prev Letter</a></li>
+<li><a href="index-8.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-7.html" target="_top">Frames</a></li>
+<li><a href="index-7.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:H">
+<!--   -->
+</a>
+<h2 class="title">H</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/UserAction.html#hashCode--">hashCode()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#hashCode--">hashCode()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/io/PcapHandleReader.html#hasTerminated--">hasTerminated()</a></span> - Method in class edu.uci.iotproject.io.<a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io">PcapHandleReader</a></dt>
+<dd>
+<div class="block">Checks if this <a href="../edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><code>PcapHandleReader</code></a> has gracefully terminated, i.e., that the wrapped <code>PcapHandle</code> has
+ been closed.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-6.html">Prev Letter</a></li>
+<li><a href="index-8.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-7.html" target="_top">Frames</a></li>
+<li><a href="index-7.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/index-files/index-8.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-8.html
new file mode 100644 (file)
index 0000000..1c86e36
--- /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:27:00 PDT 2019 -->
+<title>I-Index</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="I-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-7.html">Prev Letter</a></li>
+<li><a href="index-9.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-8.html" target="_top">Frames</a></li>
+<li><a href="index-8.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:I">
+<!--   -->
+</a>
+<h2 class="title">I</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html#INCLUSION_WINDOW_MILLIS">INCLUSION_WINDOW_MILLIS</a></span> - Static variable in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TriggerTrafficExtractor.html" title="class in edu.uci.iotproject.analysis">TriggerTrafficExtractor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#initialize--">initialize()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isAck-org.pcap4j.core.PcapPacket-">isAck(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Checks if <code>packet</code> wraps a TCP packet th        at has the ACK flag set.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#isAcknowledged--">isAcknowledged()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></dt>
+<dd>
+<div class="block">Was the FIN in this <code>FinAckPair</code> acknowledged?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isConservativeChecking-java.util.List-java.util.List-double-">isConservativeChecking(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, double)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Check if there is any overlap between the signature stored in this class and another signature.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html#isCorrespondingAckPacket-org.pcap4j.core.PcapPacket-">isCorrespondingAckPacket(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">FinAckPair</a></dt>
+<dd>
+<div class="block">Checks if a given packet is an ACK corresponding to the FIN packet in this <code>FinAckPair</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isDestination-org.pcap4j.core.PcapPacket-java.lang.String-int-">isDestination(PcapPacket, String, int)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Helper method to determine if the given combination of IP and port matches the destination of the given packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isDstIpLocal-org.pcap4j.core.PcapPacket-">isDstIpLocal(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Checks if the destination IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address,
+ i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#isFirstClient--">isFirstClient()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isGracefullyShutdown--">isGracefullyShutdown()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">Get if this <code>Conversation</code> is considered to have been gracefully shut down.</div>
+</dd>
+<dt><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(List&lt;PcapPacket&gt;, List&lt;PcapPacket&gt;, Conversation)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<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>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isRangeBasedMatching-java.util.List-double-java.util.List...-">isRangeBasedMatching(List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;, double, List&lt;List&lt;List&lt;PcapPacket&gt;&gt;&gt;...)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/DnsMap.html#isRelatedToCloudServer-java.lang.String-java.lang.String-">isRelatedToCloudServer(String, String)</a></span> - Method in class edu.uci.iotproject.<a href="../edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject">DnsMap</a></dt>
+<dd>
+<div class="block">Checks DNS packet and build the map data structure that
+ maps IP addresses to DNS hostnames</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isRetransmission-org.pcap4j.core.PcapPacket-">isRetransmission(PcapPacket)</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">
+      Determines if the TCP packet contained in <code>packet</code> is a retransmission of a previously seen (logged)
+      packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/PcapPacketPair.html#isSecondClient--">isSecondClient()</a></span> - Method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isSource-org.pcap4j.core.PcapPacket-java.lang.String-int-">isSource(PcapPacket, String, int)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Helper method to determine if the given combination of IP and port matches the source of the given packet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isSrcIpLocal-org.pcap4j.core.PcapPacket-">isSrcIpLocal(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Checks if the source IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address, i.e.,
+ if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isSyn-org.pcap4j.core.PcapPacket-">isSyn(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Checks if <code>packet</code> wraps a TCP packet that has the SYN flag set.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/util/PcapPacketUtils.html#isTcp-org.pcap4j.core.PcapPacket-">isTcp(PcapPacket)</a></span> - Static method in class edu.uci.iotproject.util.<a href="../edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util">PcapPacketUtils</a></dt>
+<dd>
+<div class="block">Determines if a given <code>PcapPacket</code> wraps a <code>TcpPacket</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html#isTls--">isTls()</a></span> - Method in class edu.uci.iotproject.trafficreassembly.layer3.<a href="../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a></dt>
+<dd>
+<div class="block">
+     Is this <code>Conversation</code> a TLS session?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html#isTlsPort-int-">isTlsPort(int)</a></span> - Static method in class edu.uci.iotproject.analysis.<a href="../edu/uci/iotproject/analysis/TcpConversationUtils.html" title="class in edu.uci.iotproject.analysis">TcpConversationUtils</a></dt>
+<dd>
+<div class="block">Check if a given port number is considered a TLS port.</div>
+</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-7.html">Prev Letter</a></li>
+<li><a href="index-9.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-8.html" target="_top">Frames</a></li>
+<li><a href="index-8.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/index-files/index-9.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-9.html
new file mode 100644 (file)
index 0000000..3dce617
--- /dev/null
@@ -0,0 +1,127 @@
+<!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>K-Index</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="K-Index";
+        }
+    }
+    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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-8.html">Prev Letter</a></li>
+<li><a href="index-10.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-9.html" target="_top">Frames</a></li>
+<li><a href="index-9.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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;<a name="I:K">
+<!--   -->
+</a>
+<h2 class="title">K</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html#kleinbergExampleOptAlignmentCostShouldBe6--">kleinbergExampleOptAlignmentCostShouldBe6()</a></span> - Method in class edu.uci.iotproject.test.<a href="../edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test">SequenceAlignmentTest</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">C</a>&nbsp;<a href="index-3.html">D</a>&nbsp;<a href="index-4.html">E</a>&nbsp;<a href="index-5.html">F</a>&nbsp;<a href="index-6.html">G</a>&nbsp;<a href="index-7.html">H</a>&nbsp;<a href="index-8.html">I</a>&nbsp;<a href="index-9.html">K</a>&nbsp;<a href="index-10.html">L</a>&nbsp;<a href="index-11.html">M</a>&nbsp;<a href="index-12.html">N</a>&nbsp;<a href="index-13.html">O</a>&nbsp;<a href="index-14.html">P</a>&nbsp;<a href="index-15.html">R</a>&nbsp;<a href="index-16.html">S</a>&nbsp;<a href="index-17.html">T</a>&nbsp;<a href="index-18.html">U</a>&nbsp;<a href="index-19.html">V</a>&nbsp;<a href="index-20.html">Z</a>&nbsp;</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 class="navBarCell1Rev">Index</li>
+<li><a href="../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="index-8.html">Prev Letter</a></li>
+<li><a href="index-10.html">Next Letter</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../index.html?index-files/index-9.html" target="_top">Frames</a></li>
+<li><a href="index-9.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/index.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index.html
new file mode 100644 (file)
index 0000000..c3d40bf
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:27:00 PDT 2019 -->
+<title>Generated Documentation (Untitled)</title>
+<script type="text/javascript">
+    tmpTargetPage = "" + window.location.search;
+    if (tmpTargetPage != "" && tmpTargetPage != "undefined")
+        tmpTargetPage = tmpTargetPage.substring(1);
+    if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && !validURL(tmpTargetPage)))
+        tmpTargetPage = "undefined";
+    targetPage = tmpTargetPage;
+    function validURL(url) {
+        try {
+            url = decodeURIComponent(url);
+        }
+        catch (error) {
+            return false;
+        }
+        var pos = url.indexOf(".html");
+        if (pos == -1 || pos != url.length - 5)
+            return false;
+        var allowNumber = false;
+        var allowSep = false;
+        var seenDot = false;
+        for (var i = 0; i < url.length - 5; i++) {
+            var ch = url.charAt(i);
+            if ('a' <= ch && ch <= 'z' ||
+                    'A' <= ch && ch <= 'Z' ||
+                    ch == '$' ||
+                    ch == '_' ||
+                    ch.charCodeAt(0) > 127) {
+                allowNumber = true;
+                allowSep = true;
+            } else if ('0' <= ch && ch <= '9'
+                    || ch == '-') {
+                if (!allowNumber)
+                     return false;
+            } else if (ch == '/' || ch == '.') {
+                if (!allowSep)
+                    return false;
+                allowNumber = false;
+                allowSep = false;
+                if (ch == '.')
+                     seenDot = true;
+                if (ch == '/' && seenDot)
+                     return false;
+            } else {
+                return false;
+            }
+        }
+        return true;
+    }
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</script>
+</head>
+<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
+<frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+<frame src="overview-frame.html" name="packageListFrame" title="All Packages">
+<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</frameset>
+<frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<noframes>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<h2>Frame Alert</h2>
+<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p>
+</noframes>
+</frameset>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html
new file mode 100644 (file)
index 0000000..6aa78b1
--- /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>Overview 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>
+<div class="indexHeader"><span><a href="allclasses-frame.html" target="packageFrame">All&nbsp;Classes</a></span></div>
+<div class="indexContainer">
+<h2 title="Packages">Packages</h2>
+<ul title="Packages">
+<li><a href="edu/uci/iotproject/package-frame.html" target="packageFrame">edu.uci.iotproject</a></li>
+<li><a href="edu/uci/iotproject/analysis/package-frame.html" target="packageFrame">edu.uci.iotproject.analysis</a></li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/package-frame.html" target="packageFrame">edu.uci.iotproject.comparison.seqalignment</a></li>
+<li><a href="edu/uci/iotproject/detection/package-frame.html" target="packageFrame">edu.uci.iotproject.detection</a></li>
+<li><a href="edu/uci/iotproject/detection/layer2/package-frame.html" target="packageFrame">edu.uci.iotproject.detection.layer2</a></li>
+<li><a href="edu/uci/iotproject/detection/layer3/package-frame.html" target="packageFrame">edu.uci.iotproject.detection.layer3</a></li>
+<li><a href="edu/uci/iotproject/evaluation/package-frame.html" target="packageFrame">edu.uci.iotproject.evaluation</a></li>
+<li><a href="edu/uci/iotproject/io/package-frame.html" target="packageFrame">edu.uci.iotproject.io</a></li>
+<li><a href="edu/uci/iotproject/maclayer/package-frame.html" target="packageFrame">edu.uci.iotproject.maclayer</a></li>
+<li><a href="edu/uci/iotproject/test/package-frame.html" target="packageFrame">edu.uci.iotproject.test</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/package-frame.html" target="packageFrame">edu.uci.iotproject.trafficreassembly.layer2</a></li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/package-frame.html" target="packageFrame">edu.uci.iotproject.trafficreassembly.layer3</a></li>
+<li><a href="edu/uci/iotproject/util/package-frame.html" target="packageFrame">edu.uci.iotproject.util</a></li>
+</ul>
+</div>
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html
new file mode 100644 (file)
index 0000000..c766330
--- /dev/null
@@ -0,0 +1,181 @@
+<!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:01 PDT 2019 -->
+<title>Overview</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="Overview";
+        }
+    }
+    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 class="navBarCell1Rev">Overview</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?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-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="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
+<caption><span>Packages</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/package-summary.html">edu.uci.iotproject</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="edu/uci/iotproject/analysis/package-summary.html">edu.uci.iotproject.analysis</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/comparison/seqalignment/package-summary.html">edu.uci.iotproject.comparison.seqalignment</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="edu/uci/iotproject/detection/package-summary.html">edu.uci.iotproject.detection</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/detection/layer2/package-summary.html">edu.uci.iotproject.detection.layer2</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="edu/uci/iotproject/detection/layer3/package-summary.html">edu.uci.iotproject.detection.layer3</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/evaluation/package-summary.html">edu.uci.iotproject.evaluation</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="edu/uci/iotproject/io/package-summary.html">edu.uci.iotproject.io</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/maclayer/package-summary.html">edu.uci.iotproject.maclayer</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="edu/uci/iotproject/test/package-summary.html">edu.uci.iotproject.test</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/trafficreassembly/layer2/package-summary.html">edu.uci.iotproject.trafficreassembly.layer2</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="edu/uci/iotproject/trafficreassembly/layer3/package-summary.html">edu.uci.iotproject.trafficreassembly.layer3</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="edu/uci/iotproject/util/package-summary.html">edu.uci.iotproject.util</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</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 class="navBarCell1Rev">Overview</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?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-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/overview-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-tree.html
new file mode 100644 (file)
index 0000000..ec29e0a
--- /dev/null
@@ -0,0 +1,215 @@
+<!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>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="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>Package</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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-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 All Packages</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="edu/uci/iotproject/package-tree.html">edu.uci.iotproject</a>, </li>
+<li><a href="edu/uci/iotproject/analysis/package-tree.html">edu.uci.iotproject.analysis</a>, </li>
+<li><a href="edu/uci/iotproject/comparison/seqalignment/package-tree.html">edu.uci.iotproject.comparison.seqalignment</a>, </li>
+<li><a href="edu/uci/iotproject/detection/package-tree.html">edu.uci.iotproject.detection</a>, </li>
+<li><a href="edu/uci/iotproject/detection/layer2/package-tree.html">edu.uci.iotproject.detection.layer2</a>, </li>
+<li><a href="edu/uci/iotproject/detection/layer3/package-tree.html">edu.uci.iotproject.detection.layer3</a>, </li>
+<li><a href="edu/uci/iotproject/evaluation/package-tree.html">edu.uci.iotproject.evaluation</a>, </li>
+<li><a href="edu/uci/iotproject/io/package-tree.html">edu.uci.iotproject.io</a>, </li>
+<li><a href="edu/uci/iotproject/maclayer/package-tree.html">edu.uci.iotproject.maclayer</a>, </li>
+<li><a href="edu/uci/iotproject/test/package-tree.html">edu.uci.iotproject.test</a>, </li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer2/package-tree.html">edu.uci.iotproject.trafficreassembly.layer2</a>, </li>
+<li><a href="edu/uci/iotproject/trafficreassembly/layer3/package-tree.html">edu.uci.iotproject.trafficreassembly.layer3</a>, </li>
+<li><a href="edu/uci/iotproject/util/package-tree.html">edu.uci.iotproject.util</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.detection.<a href="edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractClusterMatcher</span></a>
+<ul>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2ClusterMatcher</span></a> (implements edu.uci.iotproject.trafficreassembly.layer2.<a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowObserver</a>, edu.uci.iotproject.trafficreassembly.layer2.<a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2">Layer2FlowReassemblerObserver</a>)</li>
+<li type="circle">edu.uci.iotproject.detection.layer3.<a href="edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Layer3ClusterMatcher</span></a> (implements org.pcap4j.core.PacketListener)</li>
+</ul>
+</li>
+<li type="circle">edu.uci.iotproject.detection.<a href="edu/uci/iotproject/detection/AbstractSignatureDetector.html" title="class in edu.uci.iotproject.detection"><span class="typeNameLink">AbstractSignatureDetector</span></a> (implements edu.uci.iotproject.detection.<a href="edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>)</li>
+<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.trafficreassembly.layer3.<a href="edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Conversation</span></a></li>
+<li type="circle">edu.uci.iotproject.evaluation.<a href="edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">DetectionResultsAnalyzer</span></a></li>
+<li type="circle">edu.uci.iotproject.<a href="edu/uci/iotproject/DnsMap.html" title="class in edu.uci.iotproject"><span class="typeNameLink">DnsMap</span></a> (implements org.pcap4j.core.PacketListener)</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.trafficreassembly.layer3.<a href="edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">FinAckPair</span></a></li>
+<li type="circle">edu.uci.iotproject.<a href="edu/uci/iotproject/FlowPattern.html" title="class in edu.uci.iotproject"><span class="typeNameLink">FlowPattern</span></a></li>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2AbstractMatcher</span></a>
+<ul>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2RangeMatcher</span></a></li>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2SequenceMatcher</span></a></li>
+</ul>
+</li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2Flow</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowReassembler</span></a> (implements org.pcap4j.core.PacketListener)</li>
+<li type="circle">edu.uci.iotproject.detection.layer2.<a href="edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Layer2SignatureDetector</span></a> (implements edu.uci.iotproject.detection.<a href="edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>, org.pcap4j.core.PacketListener)</li>
+<li type="circle">edu.uci.iotproject.detection.layer3.<a href="edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Layer3SignatureDetector</span></a> (implements edu.uci.iotproject.detection.<a href="edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>, org.pcap4j.core.PacketListener)</li>
+<li type="circle">edu.uci.iotproject.io.<a href="edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">LiveCapture</span></a></li>
+<li type="circle">edu.uci.iotproject.maclayer.<a href="edu/uci/iotproject/maclayer/MacLayerFlowPattern.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">MacLayerFlowPattern</span></a></li>
+<li type="circle">edu.uci.iotproject.maclayer.<a href="edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html" title="class in edu.uci.iotproject.maclayer"><span class="typeNameLink">MacLayerFlowPatternFinder</span></a></li>
+<li type="circle">edu.uci.iotproject.io.<a href="edu/uci/iotproject/io/PcapHandleReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">PcapHandleReader</span></a></li>
+<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.util.<a href="edu/uci/iotproject/util/PcapPacketUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">PcapPacketUtils</span></a></li>
+<li type="circle">edu.uci.iotproject.util.<a href="edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">PrintUtils</span></a></li>
+<li type="circle">edu.uci.iotproject.io.<a href="edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">PrintWriterUtils</span></a></li>
+<li type="circle">edu.uci.iotproject.evaluation.<a href="edu/uci/iotproject/evaluation/SanitySignatureGenerator.html" title="class in edu.uci.iotproject.evaluation"><span class="typeNameLink">SanitySignatureGenerator</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.test.<a href="edu/uci/iotproject/test/SequenceAlignmentTest.html" title="class in edu.uci.iotproject.test"><span class="typeNameLink">SequenceAlignmentTest</span></a></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>
+<li type="circle">edu.uci.iotproject.<a href="edu/uci/iotproject/SignatureGenerator.html" title="class in edu.uci.iotproject"><span class="typeNameLink">SignatureGenerator</span></a></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.trafficreassembly.layer3.<a href="edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">TcpReassembler</span></a> (implements org.pcap4j.core.PacketListener)</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.io.<a href="edu/uci/iotproject/io/TriggerTimesFileReader.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">TriggerTimesFileReader</span></a></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.detection.<a href="edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">ClusterMatcherObserver</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowObserver</span></a></li>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer2.<a href="edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html" title="interface in edu.uci.iotproject.trafficreassembly.layer2"><span class="typeNameLink">Layer2FlowReassemblerObserver</span></a></li>
+<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>
+<li type="circle">edu.uci.iotproject.detection.<a href="edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection"><span class="typeNameLink">SignatureDetectorObserver</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>
+<li type="circle">edu.uci.iotproject.trafficreassembly.layer3.<a href="edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html" title="enum in edu.uci.iotproject.trafficreassembly.layer3"><span class="typeNameLink">Conversation.Direction</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>Package</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>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-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/package-list b/Code/Projects/PacketLevelSignatureExtractor/javadoc/package-list
new file mode 100644 (file)
index 0000000..f71caab
--- /dev/null
@@ -0,0 +1,13 @@
+edu.uci.iotproject
+edu.uci.iotproject.analysis
+edu.uci.iotproject.comparison.seqalignment
+edu.uci.iotproject.detection
+edu.uci.iotproject.detection.layer2
+edu.uci.iotproject.detection.layer3
+edu.uci.iotproject.evaluation
+edu.uci.iotproject.io
+edu.uci.iotproject.maclayer
+edu.uci.iotproject.test
+edu.uci.iotproject.trafficreassembly.layer2
+edu.uci.iotproject.trafficreassembly.layer3
+edu.uci.iotproject.util
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js b/Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js
new file mode 100644 (file)
index 0000000..b346356
--- /dev/null
@@ -0,0 +1,30 @@
+function show(type)
+{
+    count = 0;
+    for (var key in methods) {
+        var row = document.getElementById(key);
+        if ((methods[key] &  type) != 0) {
+            row.style.display = '';
+            row.className = (count++ % 2) ? rowColor : altColor;
+        }
+        else
+            row.style.display = 'none';
+    }
+    updateTabs(type);
+}
+
+function updateTabs(type)
+{
+    for (var value in tabs) {
+        var sNode = document.getElementById(tabs[value][0]);
+        var spanNode = sNode.firstChild;
+        if (value == type) {
+            sNode.className = activeTableTab;
+            spanNode.innerHTML = tabs[value][1];
+        }
+        else {
+            sNode.className = tableTab;
+            spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
+        }
+    }
+}
diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css b/Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css
new file mode 100644 (file)
index 0000000..98055b2
--- /dev/null
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:14px;
+    margin:0;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4A6782;
+}
+a:hover, a:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a:active {
+    text-decoration:none;
+    color:#4A6782;
+}
+a[name] {
+    color:#353833;
+}
+a[name]:hover {
+    text-decoration:none;
+    color:#353833;
+}
+pre {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+}
+h1 {
+    font-size:20px;
+}
+h2 {
+    font-size:18px;
+}
+h3 {
+    font-size:16px;
+    font-style:italic;
+}
+h4 {
+    font-size:13px;
+}
+h5 {
+    font-size:12px;
+}
+h6 {
+    font-size:11px;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
+}
+dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+}
+table tr td dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    vertical-align:top;
+    padding-top:4px;
+}
+sup {
+    font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+    clear:both;
+    height:0px;
+    overflow:hidden;
+}
+.aboutLanguage {
+    float:right;
+    padding:0px 21px;
+    font-size:11px;
+    z-index:200;
+    margin-top:-9px;
+}
+.legalCopy {
+    margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+    color:#bb7a2a;
+}
+.tab {
+    background-color:#0066FF;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    padding:.8em .5em .4em .8em;
+    height:auto;/*height:1.8em;*/
+    font-size:11px;
+    margin:0;
+}
+.topNav {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px; 
+}
+.bottomNav {
+    margin-top:10px;
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav {
+    background-color:#dee3e9;
+    float:left;
+    width:100%;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+    text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.navList li{
+    list-style:none;
+    float:left;
+    padding: 5px 6px;
+    text-transform:uppercase;
+}
+ul.subNavList li{
+    list-style:none;
+    float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+    text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+    text-transform:uppercase;
+}
+.navBarCell1Rev {
+    background-color:#F8981D;
+    color:#253441;
+    margin: auto 5px;
+}
+.skipNav {
+    position:absolute;
+    top:auto;
+    left:-9999px;
+    overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+    clear:both;
+    margin:0 20px;
+    padding:5px 0 0 0;
+}
+.indexHeader {
+    margin:10px;
+    position:relative;
+}
+.indexHeader span{
+    margin-right:15px;
+}
+.indexHeader h1 {
+    font-size:13px;
+}
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.subTitle {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 15px 0;
+    padding:0;
+}
+.footer ul {
+    margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+    padding:0;
+    margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+    padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+.indexContainer {
+    margin:10px;
+    position:relative;
+    font-size:12px;
+}
+.indexContainer h2 {
+    font-size:13px;
+    padding:0 0 3px 0;
+}
+.indexContainer ul {
+    margin:0;
+    padding:0;
+}
+.indexContainer ul li {
+    list-style:none;
+    padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+    font-size:12px;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+    margin:5px 0 10px 0px;
+    font-size:14px;
+    font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+ul.inheritance {
+    margin:0;
+    padding:0;
+}
+ul.inheritance li {
+    display:inline;
+    list-style:none;
+}
+ul.inheritance li ul.inheritance {
+    margin-left:15px;
+    padding-left:15px;
+    padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+    list-style:none;
+    margin-bottom:15px;
+    line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+    padding:0px 20px 5px 10px;
+    border:1px solid #ededed; 
+    background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+    margin-left:0;
+    padding-left:0;
+    padding-bottom:15px;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+    list-style:none;
+    border-bottom:none;
+    padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+    width:100%;
+    border-left:1px solid #EEE; 
+    border-right:1px solid #EEE; 
+    border-bottom:1px solid #EEE; 
+}
+.overviewSummary, .memberSummary  {
+    padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#253441;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0px;
+    padding-top:10px;
+    padding-left:1px;
+    margin:0px;
+    white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+    color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    padding-bottom:7px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    border: none;
+    height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    height:16px;
+}
+.memberSummary caption span.tableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#4D7A97;
+    height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+    padding-top:0px;
+    padding-left:0px;
+    padding-right:0px;
+    background-image:none;
+    float:none;
+    display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+    display:none;
+    width:5px;
+    position:relative;
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative; 
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative;
+    background-color:#4D7A97;
+    float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+    text-align:left;
+    padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+    vertical-align:top;
+    padding-right:0px;
+    padding-top:8px;
+    padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+    background:#dee3e9;
+    text-align:left;
+    padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+    white-space:nowrap;
+    font-size:13px;
+}
+td.colLast, th.colLast {
+    font-size:13px;
+}
+td.colOne, th.colOne {
+    font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+    width:25%;
+    vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+    font-weight:bold;
+}
+.tableSubHeadingColor {
+    background-color:#EEEEFF;
+}
+.altColor {
+    background-color:#FFFFFF;
+}
+.rowColor {
+    background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+    margin-top:0;
+}
+.deprecatedContent {
+    margin:0;
+    padding:10px 0;
+}
+.docSummary {
+    padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    font-style:normal;
+}
+
+div.block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+    padding-top:0px;
+}
+
+
+td.colLast a {
+    padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:10px;
+}
+.block {
+    display:block;
+    margin:3px 10px 2px 0px;
+    color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+    font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+    font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+    font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+    padding-bottom:0px;
+}