rb-wartslib 0.9.12 → 0.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +37 -0
- data/README +9 -6
- data/bin/count-traces +4 -4
- data/bin/create-aspath +3 -3
- data/bin/extract-trace-addrs +3 -3
- data/bin/modify-traces +7 -7
- data/bin/scdump +3 -3
- data/bin/select-traces +9 -9
- data/bin/show-cycles +5 -6
- data/bin/split-traces-by-type +2 -2
- data/bin/stat-traces +29 -30
- data/bin/trace-gap-size-hist +3 -3
- data/bin/trace-timestamps-hist +2 -2
- data/bin/w2tr +2 -2
- data/bin/wdump +16 -4
- data/docs/index.html +9 -1
- data/docs/reference.html +330 -7
- data/docs/style.css +1 -1
- data/docs/tut-1-count.rb +1 -1
- data/docs/tut-10-list2.rb +3 -3
- data/docs/tut-11-cycle.rb +1 -1
- data/docs/tut-12-cycle2.rb +7 -8
- data/docs/tut-13-write.rb +1 -1
- data/docs/tut-14-write2.rb +2 -3
- data/docs/tut-15-write3.rb +1 -1
- data/docs/tut-16-write4.rb +1 -1
- data/docs/tut-17-modify.rb +3 -4
- data/docs/tut-18-modify2.rb +3 -4
- data/docs/tut-2-count-block.rb +1 -1
- data/docs/tut-3-count-resp.rb +1 -1
- data/docs/tut-4-path-length.rb +5 -17
- data/docs/tut-5-hop-addr.rb +1 -1
- data/docs/tut-6-hop-addr2.rb +1 -1
- data/docs/tut-7-hop-addr3.rb +1 -1
- data/docs/tut-8-hop-addr4.rb +1 -1
- data/docs/tut-9-list.rb +1 -1
- data/docs/tutorial.html +38 -54
- data/ext/scaddr.h +3 -2
- data/ext/scext.c +11 -2
- data/ext/scfile.c +2 -1
- data/ext/scfile.h +3 -2
- data/ext/sclist.h +2 -2
- data/ext/sctrace.c +205 -18
- data/ext/sctrace.h +3 -2
- data/lib/wartslib/wl-file.rb +3 -2
- data/lib/wartslib/wl-trace.rb +70 -2
- metadata +2 -2
data/docs/style.css
CHANGED
data/docs/tut-1-count.rb
CHANGED
data/docs/tut-10-list2.rb
CHANGED
@@ -5,12 +5,12 @@ require 'wartslib'
|
|
5
5
|
|
6
6
|
num_traces = 0
|
7
7
|
Warts::File.open(ARGV[0]) do |file|
|
8
|
-
file.add_filters Warts::
|
8
|
+
file.add_filters Warts::TRACE, Warts::LIST
|
9
9
|
file.read do |element|
|
10
10
|
case element.element_type
|
11
|
-
when Warts::
|
11
|
+
when Warts::TRACE
|
12
12
|
num_traces += 1
|
13
|
-
when Warts::
|
13
|
+
when Warts::LIST
|
14
14
|
puts " id: " + element.id.to_s
|
15
15
|
puts " name: " + element.name
|
16
16
|
puts " descr: " + element.descr
|
data/docs/tut-11-cycle.rb
CHANGED
data/docs/tut-12-cycle2.rb
CHANGED
@@ -4,9 +4,9 @@ require 'rubygems'
|
|
4
4
|
require 'wartslib'
|
5
5
|
|
6
6
|
CYCLE_TYPE = {
|
7
|
-
Warts::
|
8
|
-
Warts::
|
9
|
-
Warts::
|
7
|
+
Warts::CYCLE_START => "start",
|
8
|
+
Warts::CYCLE_STOP => "stop",
|
9
|
+
Warts::CYCLE_DEF => "def"
|
10
10
|
}
|
11
11
|
|
12
12
|
def t(timestamp)
|
@@ -15,15 +15,14 @@ end
|
|
15
15
|
|
16
16
|
num_traces = 0
|
17
17
|
Warts::File.open(ARGV[0]) do |file|
|
18
|
-
file.add_filters Warts::
|
19
|
-
Warts::
|
18
|
+
file.add_filters Warts::TRACE, Warts::CYCLE_START,
|
19
|
+
Warts::CYCLE_STOP, Warts::CYCLE_DEF
|
20
20
|
|
21
21
|
file.read do |element|
|
22
22
|
case element.element_type
|
23
|
-
when Warts::
|
23
|
+
when Warts::TRACE
|
24
24
|
num_traces += 1
|
25
|
-
when Warts::
|
26
|
-
Warts::File::CYCLE_DEF
|
25
|
+
when Warts::CYCLE_START, Warts::CYCLE_STOP, Warts::CYCLE_DEF
|
27
26
|
puts "\n===> cycle " + CYCLE_TYPE[element.element_type]
|
28
27
|
puts " id: " + element.id.to_s
|
29
28
|
puts "start_time: " + t(element.start_time)
|
data/docs/tut-13-write.rb
CHANGED
@@ -6,7 +6,7 @@ require 'wartslib'
|
|
6
6
|
out = Warts::File::open "out.warts", "w"
|
7
7
|
|
8
8
|
Warts::File::open(ARGV[0]) do |file|
|
9
|
-
file.add_filters Warts::
|
9
|
+
file.add_filters Warts::TRACE
|
10
10
|
file.read do |trace|
|
11
11
|
if trace.dest_responded? && trace.path_length > 5
|
12
12
|
out.write trace
|
data/docs/tut-14-write2.rb
CHANGED
@@ -6,10 +6,9 @@ require 'wartslib'
|
|
6
6
|
out = Warts::File::open "out.warts", "w"
|
7
7
|
|
8
8
|
Warts::File::open(ARGV[0]) do |file|
|
9
|
-
file.add_filters Warts::
|
10
|
-
Warts::File::CYCLE_STOP
|
9
|
+
file.add_filters Warts::TRACE, Warts::CYCLE_START, Warts::CYCLE_STOP
|
11
10
|
file.read do |element|
|
12
|
-
if element.element_type == Warts::
|
11
|
+
if element.element_type == Warts::TRACE
|
13
12
|
if element.dest_responded? && element.path_length > 5
|
14
13
|
out.write element
|
15
14
|
end
|
data/docs/tut-15-write3.rb
CHANGED
data/docs/tut-16-write4.rb
CHANGED
data/docs/tut-17-modify.rb
CHANGED
@@ -10,13 +10,12 @@ Warts::File.open(ARGV[0]) do |file|
|
|
10
10
|
file.add_all_filters
|
11
11
|
file.read do |element|
|
12
12
|
case element.element_type
|
13
|
-
when Warts::
|
13
|
+
when Warts::TRACE
|
14
14
|
element.cycle = cycle
|
15
15
|
|
16
|
-
when Warts::
|
17
|
-
Warts::File::CYCLE_STOP
|
16
|
+
when Warts::CYCLE_START, Warts::CYCLE_DEF, Warts::CYCLE_STOP
|
18
17
|
element = element.derive(:id => 5, :hostname => "foo.bar.com")
|
19
|
-
unless element.element_type == Warts::
|
18
|
+
unless element.element_type == Warts::CYCLE_STOP
|
20
19
|
cycle = element
|
21
20
|
end
|
22
21
|
end
|
data/docs/tut-18-modify2.rb
CHANGED
@@ -10,14 +10,13 @@ Warts::File.open(ARGV[0]) do |file|
|
|
10
10
|
file.add_all_filters
|
11
11
|
file.read do |element|
|
12
12
|
case element.element_type
|
13
|
-
when Warts::
|
13
|
+
when Warts::TRACE
|
14
14
|
element.cycle = cycle
|
15
15
|
|
16
|
-
when Warts::
|
17
|
-
Warts::File::CYCLE_STOP
|
16
|
+
when Warts::CYCLE_START, Warts::CYCLE_DEF, Warts::CYCLE_STOP
|
18
17
|
list = element.list.derive(:name => "dnssurvey")
|
19
18
|
element = element.derive(:id => 5, :list => list)
|
20
|
-
unless element.element_type == Warts::
|
19
|
+
unless element.element_type == Warts::CYCLE_STOP
|
21
20
|
cycle = element
|
22
21
|
end
|
23
22
|
end
|
data/docs/tut-2-count-block.rb
CHANGED
data/docs/tut-3-count-resp.rb
CHANGED
data/docs/tut-4-path-length.rb
CHANGED
@@ -9,7 +9,7 @@ stop_reason = Hash.new 0
|
|
9
9
|
hop_histogram = Hash.new 0
|
10
10
|
|
11
11
|
Warts::File.open(ARGV[0]) do |file|
|
12
|
-
file.add_filters Warts::
|
12
|
+
file.add_filters Warts::TRACE
|
13
13
|
file.read do |trace|
|
14
14
|
num_traces += 1
|
15
15
|
num_responding += 1 if trace.dest_responded?
|
@@ -18,27 +18,15 @@ Warts::File.open(ARGV[0]) do |file|
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
# from scamper_trace.h:SCAMPER_TRACE_STOP_*
|
25
|
-
stop_text = {
|
26
|
-
0 => "none (null reason)",
|
27
|
-
1 => "completed (got an ICMP port unreach)",
|
28
|
-
2 => "unreach (got an other ICMP unreach code)",
|
29
|
-
3 => "icmp (got an ICMP msg, not unreach)",
|
30
|
-
4 => "loop (loop detected)",
|
31
|
-
5 => "dead (unresponsive target)",
|
32
|
-
6 => "error (sendto error)"
|
33
|
-
}
|
34
|
-
stop_text.default = "<<UNKNOWN STOP CODE>>"
|
21
|
+
printf "%8d traces\n", num_traces
|
22
|
+
printf "%8d responding\n", num_responding
|
35
23
|
|
36
24
|
puts
|
37
25
|
stop_reason.to_a.sort.each do |k, v|
|
38
|
-
|
26
|
+
printf "%8d stop reason %d, %s\n", v, k, Warts::Trace::STOP_REASON_TEXT[k]
|
39
27
|
end
|
40
28
|
|
41
29
|
puts
|
42
30
|
hop_histogram.to_a.sort.each do |k, v|
|
43
|
-
|
31
|
+
printf "%8d %d hops\n", v, k
|
44
32
|
end
|
data/docs/tut-5-hop-addr.rb
CHANGED
data/docs/tut-6-hop-addr2.rb
CHANGED
data/docs/tut-7-hop-addr3.rb
CHANGED
data/docs/tut-8-hop-addr4.rb
CHANGED
data/docs/tut-9-list.rb
CHANGED
data/docs/tutorial.html
CHANGED
@@ -62,7 +62,7 @@ following script shows. This script counts the number of traces in a file.
|
|
62
62
|
<span class="ident">require</span> <span class="punct">'</span><span class="string">wartslib</span><span class="punct">'</span>
|
63
63
|
|
64
64
|
<span class="ident">file</span> <span class="punct">=</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span> <span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">]</span>
|
65
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
65
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
66
66
|
|
67
67
|
<span class="ident">count</span> <span class="punct">=</span> <span class="number">0</span>
|
68
68
|
<span class="keyword">while</span> <span class="punct">(</span><span class="ident">trace</span> <span class="punct">=</span> <span class="ident">file</span><span class="punct">.</span><span class="ident">read</span><span class="punct">)</span>
|
@@ -118,7 +118,7 @@ lines in code listings):
|
|
118
118
|
<!-- 2. count+blocks ==================================================== -->
|
119
119
|
<pre class="ruby snippet">
|
120
120
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span><span class="punct">(<span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">]</span>)</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
121
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
121
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
122
122
|
|
123
123
|
<span class="ident">count</span> <span class="punct">=</span> <span class="number">0</span>
|
124
124
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="punct">{</span> <span class="ident">count</span> <span class="punct">+=</span> <span class="number">1</span> <span class="punct">}</span>
|
@@ -151,7 +151,7 @@ path length.
|
|
151
151
|
<!--- 3. count+resp ------------------------------------------------------>
|
152
152
|
<pre class="ruby snippet">
|
153
153
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span><span class="punct">(<span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">]</span>)</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
154
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
154
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
155
155
|
|
156
156
|
<span class="ident">count</span> <span class="punct">=</span> <span class="number">0</span>
|
157
157
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
@@ -185,7 +185,7 @@ beginnings of a full-featured trace statistics script; for example:
|
|
185
185
|
<span class="ident">hop_histogram</span> <span class="punct">=</span> <span class="constant">Hash</span><span class="punct">.</span><span class="ident">new</span> <span class="number">0</span>
|
186
186
|
|
187
187
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
188
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
188
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
189
189
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
190
190
|
<span class="ident">num_traces</span> <span class="punct">+=</span> <span class="number">1</span>
|
191
191
|
<span class="ident">num_responding</span> <span class="punct">+=</span> <span class="number">1</span> <span class="keyword">if</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">dest_responded?</span>
|
@@ -194,29 +194,17 @@ beginnings of a full-featured trace statistics script; for example:
|
|
194
194
|
<span class="keyword">end</span>
|
195
195
|
<span class="keyword">end</span>
|
196
196
|
|
197
|
-
<span class="ident">
|
198
|
-
<span class="ident">
|
199
|
-
|
200
|
-
<span class="comment"># from scamper_trace.h:SCAMPER_TRACE_STOP_*</span>
|
201
|
-
<span class="ident">stop_text</span> <span class="punct">=</span> <span class="punct">{</span>
|
202
|
-
<span class="number">0</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">none (null reason)</span><span class="punct">",</span>
|
203
|
-
<span class="number">1</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">completed (got an ICMP port unreach)</span><span class="punct">",</span>
|
204
|
-
<span class="number">2</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">unreach (got an other ICMP unreach code)</span><span class="punct">",</span>
|
205
|
-
<span class="number">3</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">icmp (got an ICMP msg, not unreach)</span><span class="punct">",</span>
|
206
|
-
<span class="number">4</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">loop (loop detected)</span><span class="punct">",</span>
|
207
|
-
<span class="number">5</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">dead (unresponsive target)</span><span class="punct">",</span>
|
208
|
-
<span class="number">6</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">error (sendto error)</span><span class="punct">"</span>
|
209
|
-
<span class="punct">}</span>
|
210
|
-
<span class="ident">stop_text</span><span class="punct">.</span><span class="ident">default</span> <span class="punct">=</span> <span class="punct">"</span><span class="string"><<UNKNOWN STOP CODE>></span><span class="punct">"</span>
|
197
|
+
<span class="ident">printf</span> <span class="punct">"</span><span class="string">%8d traces<span class="escape">\n</span></span><span class="punct">",</span> <span class="ident">num_traces</span>
|
198
|
+
<span class="ident">printf</span> <span class="punct">"</span><span class="string">%8d responding<span class="escape">\n</span></span><span class="punct">",</span> <span class="ident">num_responding</span>
|
211
199
|
|
212
200
|
<span class="ident">puts</span>
|
213
201
|
<span class="ident">stop_reason</span><span class="punct">.</span><span class="ident">to_a</span><span class="punct">.</span><span class="ident">sort</span><span class="punct">.</span><span class="ident">each</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">k</span><span class="punct">,</span> <span class="ident">v</span><span class="punct">|</span>
|
214
|
-
<span class="ident">
|
202
|
+
<span class="ident">printf</span> <span class="punct">"</span><span class="string">%8d stop reason %d, %s<span class="escape">\n</span></span><span class="punct">",</span> <span class="ident">v</span><span class="punct">,</span> <span class="ident">k</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">Trace</span><span class="punct">::</span><span class="ident">STOP_REASON_TEXT</span><span class="punct">[</span><span class="ident">k</span><span class="punct">]</span>
|
215
203
|
<span class="keyword">end</span>
|
216
204
|
|
217
205
|
<span class="ident">puts</span>
|
218
206
|
<span class="ident">hop_histogram</span><span class="punct">.</span><span class="ident">to_a</span><span class="punct">.</span><span class="ident">sort</span><span class="punct">.</span><span class="ident">each</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">k</span><span class="punct">,</span> <span class="ident">v</span><span class="punct">|</span>
|
219
|
-
<span class="ident">
|
207
|
+
<span class="ident">printf</span> <span class="punct">"</span><span class="string">%8d %d hops<span class="escape">\n</span></span><span class="punct">",</span> <span class="ident">v</span><span class="punct">,</span> <span class="ident">k</span>
|
220
208
|
<span class="keyword">end</span>
|
221
209
|
</pre>
|
222
210
|
|
@@ -228,7 +216,7 @@ beginnings of a full-featured trace statistics script; for example:
|
|
228
216
|
<span class="command_output"> 2 stop reason 1, completed (got an ICMP port unreach)</span>
|
229
217
|
<span class="command_output"> 13 stop reason 2, unreach (got an other ICMP unreach code)</span>
|
230
218
|
<span class="command_output"> 17 stop reason 4, loop (loop detected)</span>
|
231
|
-
<span class="command_output"> 17 stop reason 5,
|
219
|
+
<span class="command_output"> 17 stop reason 5, gaplimit (gaplimit exceeded)</span>
|
232
220
|
<span class="command_output"></span>
|
233
221
|
<span class="command_output"> 3 2 hops</span>
|
234
222
|
<span class="command_output"> 1 4 hops</span>
|
@@ -287,7 +275,7 @@ accessor methods.
|
|
287
275
|
<!-- 5. hop-addr ========================================================= -->
|
288
276
|
<pre class="ruby snippet">
|
289
277
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
290
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
278
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
291
279
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
292
280
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string">trace to </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">dst</span>
|
293
281
|
<span class="punct">(</span><span class="number">0</span> <span class="punct">...</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">hop_count</span><span class="punct">).</span><span class="ident">each</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">i</span><span class="punct">|</span>
|
@@ -344,7 +332,7 @@ existence, as demonstrated in the following script:
|
|
344
332
|
<!-- 6. hop-addr2 ======================================================== -->
|
345
333
|
<pre class="ruby snippet">
|
346
334
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
347
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
335
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
348
336
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
349
337
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string">trace to </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">dst</span>
|
350
338
|
<span class="ident">trace</span><span class="punct">.</span><span class="ident">each_hop</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">i</span><span class="punct">,</span> <span class="ident">exists</span><span class="punct">|</span>
|
@@ -399,7 +387,7 @@ hops:
|
|
399
387
|
<!-- 7. hop-addr3 ======================================================== -->
|
400
388
|
<pre class="ruby snippet">
|
401
389
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
402
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
390
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
403
391
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
404
392
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string">trace to </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">dst</span>
|
405
393
|
<span class="ident">trace</span><span class="punct">.</span><span class="ident">each_hop</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">hop</span><span class="punct">,</span> <span class="ident">exists</span><span class="punct">|</span>
|
@@ -438,7 +426,7 @@ IP address of all responses of all hops:
|
|
438
426
|
<!-- 8. hop-addr4 ======================================================== -->
|
439
427
|
<pre class="ruby snippet">
|
440
428
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
441
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
429
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
442
430
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
443
431
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string">trace to </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">dst</span>
|
444
432
|
<span class="ident">trace</span><span class="punct">.</span><span class="ident">each_hop_and_response</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">hop</span><span class="punct">,</span> <span class="ident">response</span><span class="punct">,</span> <span class="ident">hop_exists</span><span class="punct">|</span>
|
@@ -492,7 +480,7 @@ information for the first trace in a warts file:
|
|
492
480
|
<!-- 9. list =========================================================== -->
|
493
481
|
<pre class="ruby snippet">
|
494
482
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
495
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
483
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
496
484
|
<span class="ident">trace</span> <span class="punct">=</span> <span class="ident">file</span><span class="punct">.</span><span class="ident">read</span>
|
497
485
|
<span class="keyword">if</span> <span class="ident">trace</span>
|
498
486
|
<span class="ident">list</span> <span class="punct">=</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">list</span>
|
@@ -519,7 +507,7 @@ accessing them indirectly via a <code>Warts::Trace</code> object. For
|
|
519
507
|
example, the following script examines all list and trace objects in a
|
520
508
|
warts file, printing out the details of each encountered list object and
|
521
509
|
counting encountered traces (note the
|
522
|
-
additional <code>Warts::
|
510
|
+
additional <code>Warts::LIST</code> passed
|
523
511
|
to <code>File#add_filters</code>):
|
524
512
|
</p>
|
525
513
|
|
@@ -527,12 +515,12 @@ to <code>File#add_filters</code>):
|
|
527
515
|
<pre class="ruby snippet">
|
528
516
|
<span class="ident">num_traces</span> <span class="punct">=</span> <span class="number">0</span>
|
529
517
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
530
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
518
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">LIST</span>
|
531
519
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">element</span><span class="punct">|</span>
|
532
520
|
<span class="keyword">case</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span>
|
533
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
521
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
534
522
|
<span class="ident">num_traces</span> <span class="punct">+=</span> <span class="number">1</span>
|
535
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
523
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">LIST</span>
|
536
524
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string"> id: </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">id</span><span class="punct">.</span><span class="ident">to_s</span>
|
537
525
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string"> name: </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">name</span>
|
538
526
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string"> descr: </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">descr</span>
|
@@ -586,7 +574,7 @@ first trace in a warts file:
|
|
586
574
|
<span class="keyword">end</span>
|
587
575
|
|
588
576
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
589
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
577
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
590
578
|
<span class="ident">trace</span> <span class="punct">=</span> <span class="ident">file</span><span class="punct">.</span><span class="ident">read</span>
|
591
579
|
<span class="keyword">if</span> <span class="ident">trace</span>
|
592
580
|
<span class="ident">cycle</span> <span class="punct">=</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">cycle</span>
|
@@ -653,16 +641,16 @@ at the beginning of the latter file.
|
|
653
641
|
<p>
|
654
642
|
The following script examines all cycle and trace objects in a warts file,
|
655
643
|
printing out the details of each encountered cycle object and counting
|
656
|
-
encountered traces (note the additional <code>Warts::
|
644
|
+
encountered traces (note the additional <code>Warts::CYCLE_xxx</code>
|
657
645
|
values passed to <code>File#add_filters</code>):
|
658
646
|
</p>
|
659
647
|
|
660
648
|
<!-- 12. cycle2 ========================================================== -->
|
661
649
|
<pre class="ruby snippet">
|
662
650
|
<span class="constant">CYCLE_TYPE</span> <span class="punct">=</span> <span class="punct">{</span>
|
663
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
664
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
665
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
651
|
+
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">start</span><span class="punct">",</span>
|
652
|
+
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">stop</span><span class="punct">",</span>
|
653
|
+
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">def</span><span class="punct">"</span>
|
666
654
|
<span class="punct">}</span>
|
667
655
|
|
668
656
|
<span class="keyword">def </span><span class="method">t</span><span class="punct">(</span><span class="ident">timestamp</span><span class="punct">)</span>
|
@@ -671,15 +659,14 @@ values passed to <code>File#add_filters</code>):
|
|
671
659
|
|
672
660
|
<span class="ident">num_traces</span> <span class="punct">=</span> <span class="number">0</span>
|
673
661
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">.</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
674
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
675
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
662
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span>
|
663
|
+
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span>
|
676
664
|
|
677
665
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">element</span><span class="punct">|</span>
|
678
666
|
<span class="keyword">case</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span>
|
679
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
667
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
680
668
|
<span class="ident">num_traces</span> <span class="punct">+=</span> <span class="number">1</span>
|
681
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
682
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span>
|
669
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span>
|
683
670
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string"><span class="escape">\n</span>===> cycle </span><span class="punct">"</span> <span class="punct">+</span> <span class="constant">CYCLE_TYPE</span><span class="punct">[</span><span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span><span class="punct">]</span>
|
684
671
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string"> id: </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">id</span><span class="punct">.</span><span class="ident">to_s</span>
|
685
672
|
<span class="ident">puts</span> <span class="punct">"</span><span class="string">start_time: </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">t</span><span class="punct">(</span><span class="ident">element</span><span class="punct">.</span><span class="ident">start_time</span><span class="punct">)</span>
|
@@ -745,7 +732,7 @@ destination and a path length greater than 5:
|
|
745
732
|
<span class="ident">out</span> <span class="punct">=</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span> <span class="punct">"</span><span class="string">out.warts</span><span class="punct">",</span> <span class="punct">"</span><span class="string">w</span><span class="punct">"</span>
|
746
733
|
|
747
734
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
748
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
735
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
749
736
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
750
737
|
<span class="keyword">if</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">dest_responded?</span> <span class="punct">&&</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">path_length</span> <span class="punct">></span> <span class="number">5</span>
|
751
738
|
<span class="ident">out</span><span class="punct">.</span><span class="ident">write</span> <span class="ident">trace</span>
|
@@ -773,10 +760,9 @@ in the following script:
|
|
773
760
|
<span class="ident">out</span> <span class="punct">=</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span> <span class="punct">"</span><span class="string">out.warts</span><span class="punct">",</span> <span class="punct">"</span><span class="string">w</span><span class="punct">"</span>
|
774
761
|
|
775
762
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
776
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
777
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
763
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
778
764
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">element</span><span class="punct">|</span>
|
779
|
-
<span class="keyword">if</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span> <span class="punct">==</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
765
|
+
<span class="keyword">if</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span> <span class="punct">==</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
780
766
|
<span class="keyword">if</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">dest_responded?</span> <span class="punct">&&</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">path_length</span> <span class="punct">></span> <span class="number">5</span>
|
781
767
|
<span class="ident">out</span><span class="punct">.</span><span class="ident">write</span> <span class="ident">element</span>
|
782
768
|
<span class="keyword">end</span>
|
@@ -800,7 +786,7 @@ following script:
|
|
800
786
|
<span class="ident">out</span> <span class="punct">=</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span> <span class="punct">"</span><span class="string">out.txt</span><span class="punct">",</span> <span class="punct">"</span><span class="string">w</span><span class="punct">",</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">TRACEROUTE</span>
|
801
787
|
|
802
788
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
803
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
789
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
804
790
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
805
791
|
<span class="ident">out</span><span class="punct">.</span><span class="ident">write</span> <span class="ident">trace</span>
|
806
792
|
<span class="keyword">end</span>
|
@@ -843,7 +829,7 @@ traceroute format:
|
|
843
829
|
<span class="ident">out</span> <span class="punct">=</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span> <span class="global">$stdout</span><span class="punct">,</span> <span class="punct">"</span><span class="string">w</span><span class="punct">",</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">TRACEROUTE</span>
|
844
830
|
|
845
831
|
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="ident">open</span><span class="punct">(</span><span class="constant">ARGV</span><span class="punct">[</span><span class="number">0</span><span class="punct">])</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">file</span><span class="punct">|</span>
|
846
|
-
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
832
|
+
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_filters</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
847
833
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">trace</span><span class="punct">|</span>
|
848
834
|
<span class="ident">out</span><span class="punct">.</span><span class="ident">write</span> <span class="ident">trace</span>
|
849
835
|
<span class="keyword">end</span>
|
@@ -881,13 +867,12 @@ always be read in before any traces that use those cycle objects):
|
|
881
867
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_all_filters</span>
|
882
868
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">element</span><span class="punct">|</span>
|
883
869
|
<span class="keyword">case</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span>
|
884
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
870
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
885
871
|
<span class="ident">element</span><span class="punct">.</span><span class="ident">cycle</span> <span class="punct">=</span> <span class="ident">cycle</span>
|
886
872
|
|
887
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
888
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
873
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
889
874
|
<span class="ident">element</span> <span class="punct">=</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">derive</span><span class="punct">(</span><span class="symbol">:id</span> <span class="punct">=></span> <span class="number">5</span><span class="punct">,</span> <span class="symbol">:hostname</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">foo.bar.com</span><span class="punct">")</span>
|
890
|
-
<span class="keyword">unless</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span> <span class="punct">==</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
875
|
+
<span class="keyword">unless</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span> <span class="punct">==</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
891
876
|
<span class="ident">cycle</span> <span class="punct">=</span> <span class="ident">element</span>
|
892
877
|
<span class="keyword">end</span>
|
893
878
|
<span class="keyword">end</span>
|
@@ -917,14 +902,13 @@ the ID of cycles to 5):
|
|
917
902
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">add_all_filters</span>
|
918
903
|
<span class="ident">file</span><span class="punct">.</span><span class="ident">read</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">element</span><span class="punct">|</span>
|
919
904
|
<span class="keyword">case</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span>
|
920
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
905
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">TRACE</span>
|
921
906
|
<span class="ident">element</span><span class="punct">.</span><span class="ident">cycle</span> <span class="punct">=</span> <span class="ident">cycle</span>
|
922
907
|
|
923
|
-
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
924
|
-
<span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
908
|
+
<span class="keyword">when</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span><span class="punct">,</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
925
909
|
<span class="ident">list</span> <span class="punct">=</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">list</span><span class="punct">.</span><span class="ident">derive</span><span class="punct">(</span><span class="symbol">:name</span> <span class="punct">=></span> <span class="punct">"</span><span class="string">dnssurvey</span><span class="punct">")</span>
|
926
910
|
<span class="ident">element</span> <span class="punct">=</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">derive</span><span class="punct">(</span><span class="symbol">:id</span> <span class="punct">=></span> <span class="number">5</span><span class="punct">,</span> <span class="symbol">:list</span> <span class="punct">=></span> <span class="ident">list</span><span class="punct">)</span>
|
927
|
-
<span class="keyword">unless</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span> <span class="punct">==</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">
|
911
|
+
<span class="keyword">unless</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">element_type</span> <span class="punct">==</span> <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
|
928
912
|
<span class="ident">cycle</span> <span class="punct">=</span> <span class="ident">element</span>
|
929
913
|
<span class="keyword">end</span>
|
930
914
|
<span class="keyword">end</span>
|