1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
5 <!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
6 <title>PcapHandleReader</title>
7 <meta name="date" content="2019-03-28">
8 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
9 <script type="text/javascript" src="../../../../script.js"></script>
12 <script type="text/javascript"><!--
14 if (location.href.indexOf('is-external=true') == -1) {
15 parent.document.title="PcapHandleReader";
21 var methods = {"i0":10,"i1":10,"i2":10};
22 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
23 var altColor = "altColor";
24 var rowColor = "rowColor";
25 var tableTab = "tableTab";
26 var activeTableTab = "activeTableTab";
29 <div>JavaScript is disabled on your browser.</div>
31 <!-- ========= START OF TOP NAVBAR ======= -->
32 <div class="topNav"><a name="navbar.top">
35 <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
36 <a name="navbar.top.firstrow">
39 <ul class="navList" title="Navigation">
40 <li><a href="../../../../overview-summary.html">Overview</a></li>
41 <li><a href="package-summary.html">Package</a></li>
42 <li class="navBarCell1Rev">Class</li>
43 <li><a href="package-tree.html">Tree</a></li>
44 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
45 <li><a href="../../../../index-files/index-1.html">Index</a></li>
46 <li><a href="../../../../help-doc.html">Help</a></li>
51 <li><a href="../../../../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Prev Class</span></a></li>
52 <li><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next Class</span></a></li>
55 <li><a href="../../../../index.html?edu/uci/iotproject/io/PcapHandleReader.html" target="_top">Frames</a></li>
56 <li><a href="PcapHandleReader.html" target="_top">No Frames</a></li>
58 <ul class="navList" id="allclasses_navbar_top">
59 <li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
62 <script type="text/javascript"><!--
63 allClassesLink = document.getElementById("allclasses_navbar_top");
65 allClassesLink.style.display = "block";
68 allClassesLink.style.display = "none";
74 <ul class="subNavList">
75 <li>Summary: </li>
76 <li>Nested | </li>
77 <li>Field | </li>
78 <li><a href="#constructor.summary">Constr</a> | </li>
79 <li><a href="#method.summary">Method</a></li>
81 <ul class="subNavList">
82 <li>Detail: </li>
83 <li>Field | </li>
84 <li><a href="#constructor.detail">Constr</a> | </li>
85 <li><a href="#method.detail">Method</a></li>
88 <a name="skip.navbar.top">
91 <!-- ========= END OF TOP NAVBAR ========= -->
92 <!-- ======== START OF CLASS DATA ======== -->
94 <div class="subTitle">edu.uci.iotproject.io</div>
95 <h2 title="Class PcapHandleReader" class="title">Class PcapHandleReader</h2>
97 <div class="contentContainer">
98 <ul class="inheritance">
99 <li>java.lang.Object</li>
101 <ul class="inheritance">
102 <li>edu.uci.iotproject.io.PcapHandleReader</li>
106 <div class="description">
107 <ul class="blockList">
108 <li class="blockList">
111 <pre>public class <span class="typeNameLabel">PcapHandleReader</span>
112 extends java.lang.Object</pre>
113 <div class="block">Reads packets from a <code>PcapHandle</code> (online or offline) and delivers those packets that pass the test exercised
114 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>
118 <div class="summary">
119 <ul class="blockList">
120 <li class="blockList">
121 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
122 <ul class="blockList">
123 <li class="blockList"><a name="constructor.summary">
126 <h3>Constructor Summary</h3>
127 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
128 <caption><span>Constructors</span><span class="tabEnd"> </span></caption>
130 <th class="colOne" scope="col">Constructor and Description</th>
132 <tr class="altColor">
133 <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 handle,
134 <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a> packetFilter,
135 org.pcap4j.core.PacketListener... packetListeners)</code>
136 <div class="block">Create a <code>PcapHandleReader</code>.</div>
142 <!-- ========== METHOD SUMMARY =========== -->
143 <ul class="blockList">
144 <li class="blockList"><a name="method.summary">
147 <h3>Method Summary</h3>
148 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
149 <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
151 <th class="colFirst" scope="col">Modifier and Type</th>
152 <th class="colLast" scope="col">Method and Description</th>
154 <tr id="i0" class="altColor">
155 <td class="colFirst"><code>boolean</code></td>
156 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#hasTerminated--">hasTerminated</a></span>()</code>
157 <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
161 <tr id="i1" class="rowColor">
162 <td class="colFirst"><code>void</code></td>
163 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#readFromHandle--">readFromHandle</a></span>()</code>
164 <div class="block">Start reading (and filtering) packets from the provided <code>PcapHandle</code>.</div>
167 <tr id="i2" class="altColor">
168 <td class="colFirst"><code>void</code></td>
169 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/io/PcapHandleReader.html#stopReading--">stopReading</a></span>()</code>
170 <div class="block">Stop reading from the wrapped <code>PcapHandle</code>.</div>
174 <ul class="blockList">
175 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
178 <h3>Methods inherited from class java.lang.Object</h3>
179 <code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
186 <div class="details">
187 <ul class="blockList">
188 <li class="blockList">
189 <!-- ========= CONSTRUCTOR DETAIL ======== -->
190 <ul class="blockList">
191 <li class="blockList"><a name="constructor.detail">
194 <h3>Constructor Detail</h3>
195 <a name="PcapHandleReader-org.pcap4j.core.PcapHandle-edu.uci.iotproject.analysis.PcapPacketFilter-org.pcap4j.core.PacketListener...-">
198 <ul class="blockListLast">
199 <li class="blockList">
200 <h4>PcapHandleReader</h4>
201 <pre>public PcapHandleReader(org.pcap4j.core.PcapHandle handle,
202 <a href="../../../../edu/uci/iotproject/analysis/PcapPacketFilter.html" title="interface in edu.uci.iotproject.analysis">PcapPacketFilter</a> packetFilter,
203 org.pcap4j.core.PacketListener... packetListeners)</pre>
204 <div class="block">Create a <code>PcapHandleReader</code>.</div>
206 <dt><span class="paramLabel">Parameters:</span></dt>
207 <dd><code>handle</code> - An <em>open</em> <code>PcapHandle</code> that packets will be read from.</dd>
208 <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
209 be delivered to <code>packetListeners</code>. Note that while a value of <code>null</code> is not
210 permitted here, the caller can instead simply provide an implementation that always returns
211 <code>true</code> if they want to include all packets read from <code>handle</code>.</dd>
212 <dd><code>packetListeners</code> - One or more <code>PacketListener</code>s to which those packets read from <code>handle</code> that
213 pass through <code>packetFilter</code> are delivered.</dd>
219 <!-- ============ METHOD DETAIL ========== -->
220 <ul class="blockList">
221 <li class="blockList"><a name="method.detail">
224 <h3>Method Detail</h3>
225 <a name="readFromHandle--">
228 <ul class="blockList">
229 <li class="blockList">
230 <h4>readFromHandle</h4>
231 <pre>public void readFromHandle()
232 throws org.pcap4j.core.PcapNativeException,
233 org.pcap4j.core.NotOpenException</pre>
234 <div class="block">Start reading (and filtering) packets from the provided <code>PcapHandle</code>.</div>
236 <dt><span class="throwsLabel">Throws:</span></dt>
237 <dd><code>org.pcap4j.core.PcapNativeException</code> - if an error occurs in the pcap native library.</dd>
238 <dd><code>org.pcap4j.core.NotOpenException</code> - if the provided <code>PcapHandle</code> is not open.</dd>
242 <a name="stopReading--">
245 <ul class="blockList">
246 <li class="blockList">
248 <pre>public void stopReading()</pre>
249 <div class="block">Stop reading from the wrapped <code>PcapHandle</code>. Note that this call only <em>initiates</em> the shutdown by
250 setting a termination flag. Shutdown will be deferred until the time at which this flag can be checked by
251 <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
252 call to <code>PcapHandle.getNextPacketEx()</code>, shutdown will not occur until the next packet is returned from the
253 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
257 <a name="hasTerminated--">
260 <ul class="blockListLast">
261 <li class="blockList">
262 <h4>hasTerminated</h4>
263 <pre>public boolean hasTerminated()</pre>
264 <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
267 <dt><span class="returnLabel">Returns:</span></dt>
268 <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>
278 <!-- ========= END OF CLASS DATA ========= -->
279 <!-- ======= START OF BOTTOM NAVBAR ====== -->
280 <div class="bottomNav"><a name="navbar.bottom">
283 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
284 <a name="navbar.bottom.firstrow">
287 <ul class="navList" title="Navigation">
288 <li><a href="../../../../overview-summary.html">Overview</a></li>
289 <li><a href="package-summary.html">Package</a></li>
290 <li class="navBarCell1Rev">Class</li>
291 <li><a href="package-tree.html">Tree</a></li>
292 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
293 <li><a href="../../../../index-files/index-1.html">Index</a></li>
294 <li><a href="../../../../help-doc.html">Help</a></li>
299 <li><a href="../../../../edu/uci/iotproject/io/LiveCapture.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Prev Class</span></a></li>
300 <li><a href="../../../../edu/uci/iotproject/io/PrintWriterUtils.html" title="class in edu.uci.iotproject.io"><span class="typeNameLink">Next Class</span></a></li>
303 <li><a href="../../../../index.html?edu/uci/iotproject/io/PcapHandleReader.html" target="_top">Frames</a></li>
304 <li><a href="PcapHandleReader.html" target="_top">No Frames</a></li>
306 <ul class="navList" id="allclasses_navbar_bottom">
307 <li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
310 <script type="text/javascript"><!--
311 allClassesLink = document.getElementById("allclasses_navbar_bottom");
313 allClassesLink.style.display = "block";
316 allClassesLink.style.display = "none";
322 <ul class="subNavList">
323 <li>Summary: </li>
324 <li>Nested | </li>
325 <li>Field | </li>
326 <li><a href="#constructor.summary">Constr</a> | </li>
327 <li><a href="#method.summary">Method</a></li>
329 <ul class="subNavList">
330 <li>Detail: </li>
331 <li>Field | </li>
332 <li><a href="#constructor.detail">Constr</a> | </li>
333 <li><a href="#method.detail">Method</a></li>
336 <a name="skip.navbar.bottom">
339 <!-- ======== END OF BOTTOM NAVBAR ======= -->