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.
@@ -129,7 +129,7 @@ dt .value {
129
129
  color:#D4B28C; /* light brown: 212, 178, 140 */
130
130
  }
131
131
 
132
- p.method_desc
132
+ p.method_desc,
133
133
  p.constant_desc
134
134
  {
135
135
  margin-left: 2em;
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'wartslib'
3
3
 
4
4
  file = Warts::File::open ARGV[0]
5
- file.add_filters Warts::File::TRACE
5
+ file.add_filters Warts::TRACE
6
6
 
7
7
  count = 0
8
8
  while (trace = file.read)
@@ -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::File::TRACE, Warts::File::LIST
8
+ file.add_filters Warts::TRACE, Warts::LIST
9
9
  file.read do |element|
10
10
  case element.element_type
11
- when Warts::File::TRACE
11
+ when Warts::TRACE
12
12
  num_traces += 1
13
- when Warts::File::LIST
13
+ when Warts::LIST
14
14
  puts " id: " + element.id.to_s
15
15
  puts " name: " + element.name
16
16
  puts " descr: " + element.descr
@@ -8,7 +8,7 @@ def t(timestamp)
8
8
  end
9
9
 
10
10
  Warts::File.open(ARGV[0]) do |file|
11
- file.add_filters Warts::File::TRACE
11
+ file.add_filters Warts::TRACE
12
12
  trace = file.read
13
13
  if trace
14
14
  cycle = trace.cycle
@@ -4,9 +4,9 @@ require 'rubygems'
4
4
  require 'wartslib'
5
5
 
6
6
  CYCLE_TYPE = {
7
- Warts::File::CYCLE_START => "start",
8
- Warts::File::CYCLE_STOP => "stop",
9
- Warts::File::CYCLE_DEF => "def"
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::File::TRACE, Warts::File::CYCLE_START,
19
- Warts::File::CYCLE_STOP, Warts::File::CYCLE_DEF
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::File::TRACE
23
+ when Warts::TRACE
24
24
  num_traces += 1
25
- when Warts::File::CYCLE_START, Warts::File::CYCLE_STOP,
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)
@@ -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::File::TRACE
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
@@ -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::File::TRACE, Warts::File::CYCLE_START,
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::File::TRACE
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
@@ -6,7 +6,7 @@ require 'wartslib'
6
6
  out = Warts::File::open "out.txt", "w", Warts::File::TRACEROUTE
7
7
 
8
8
  Warts::File::open(ARGV[0]) do |file|
9
- file.add_filters Warts::File::TRACE
9
+ file.add_filters Warts::TRACE
10
10
  file.read do |trace|
11
11
  out.write trace
12
12
  end
@@ -6,7 +6,7 @@ require 'wartslib'
6
6
  out = Warts::File::open $stdout, "w", Warts::File::TRACEROUTE
7
7
 
8
8
  Warts::File::open(ARGV[0]) do |file|
9
- file.add_filters Warts::File::TRACE
9
+ file.add_filters Warts::TRACE
10
10
  file.read do |trace|
11
11
  out.write trace
12
12
  end
@@ -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::File::TRACE
13
+ when Warts::TRACE
14
14
  element.cycle = cycle
15
15
 
16
- when Warts::File::CYCLE_START, Warts::File::CYCLE_DEF,
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::File::CYCLE_STOP
18
+ unless element.element_type == Warts::CYCLE_STOP
20
19
  cycle = element
21
20
  end
22
21
  end
@@ -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::File::TRACE
13
+ when Warts::TRACE
14
14
  element.cycle = cycle
15
15
 
16
- when Warts::File::CYCLE_START, Warts::File::CYCLE_DEF,
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::File::CYCLE_STOP
19
+ unless element.element_type == Warts::CYCLE_STOP
21
20
  cycle = element
22
21
  end
23
22
  end
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'wartslib'
3
3
 
4
4
  Warts::File::open(ARGV[0]) do |file|
5
- file.add_filters Warts::File::TRACE
5
+ file.add_filters Warts::TRACE
6
6
 
7
7
  count = 0
8
8
  file.read { count += 1 }
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'wartslib'
3
3
 
4
4
  Warts::File::open(ARGV[0]) do |file|
5
- file.add_filters Warts::File::TRACE
5
+ file.add_filters Warts::TRACE
6
6
 
7
7
  count = 0
8
8
  file.read do |trace|
@@ -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::File::TRACE
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
- puts "%8d traces" % [num_traces]
22
- puts "%8d responding" % [num_responding]
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
- puts "%8d stop reason %d, %s" % [v, k, stop_text[k]]
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
- puts "%8d %d hops" % [v, k]
31
+ printf "%8d %d hops\n", v, k
44
32
  end
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'wartslib'
5
5
 
6
6
  Warts::File.open(ARGV[0]) do |file|
7
- file.add_filters Warts::File::TRACE
7
+ file.add_filters Warts::TRACE
8
8
  file.read do |trace|
9
9
  puts "trace to " + trace.dst
10
10
  (0 ... trace.hop_count).each do |i|
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'wartslib'
5
5
 
6
6
  Warts::File.open(ARGV[0]) do |file|
7
- file.add_filters Warts::File::TRACE
7
+ file.add_filters Warts::TRACE
8
8
  file.read do |trace|
9
9
  puts "trace to " + trace.dst
10
10
  trace.each_hop do |i, exists|
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'wartslib'
5
5
 
6
6
  Warts::File.open(ARGV[0]) do |file|
7
- file.add_filters Warts::File::TRACE
7
+ file.add_filters Warts::TRACE
8
8
  file.read do |trace|
9
9
  puts "trace to " + trace.dst
10
10
  trace.each_hop do |hop, exists|
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'wartslib'
5
5
 
6
6
  Warts::File.open(ARGV[0]) do |file|
7
- file.add_filters Warts::File::TRACE
7
+ file.add_filters Warts::TRACE
8
8
  file.read do |trace|
9
9
  puts "trace to " + trace.dst
10
10
  trace.each_hop_and_response do |hop, response, hop_exists|
@@ -4,7 +4,7 @@ require 'rubygems'
4
4
  require 'wartslib'
5
5
 
6
6
  Warts::File.open(ARGV[0]) do |file|
7
- file.add_filters Warts::File::TRACE
7
+ file.add_filters Warts::TRACE
8
8
  trace = file.read
9
9
  if trace
10
10
  list = trace.list
@@ -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">File</span><span class="punct">::</span><span class="constant">TRACE</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">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">File</span><span class="punct">::</span><span class="constant">TRACE</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">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">File</span><span class="punct">::</span><span class="constant">TRACE</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">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">File</span><span class="punct">::</span><span class="constant">TRACE</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">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">puts</span> <span class="punct">&quot;</span><span class="string">%8d traces</span><span class="punct">&quot;</span> <span class="punct">%</span> <span class="punct">[</span><span class="ident">num_traces</span><span class="punct">]</span>
198
- <span class="ident">puts</span> <span class="punct">&quot;</span><span class="string">%8d responding</span><span class="punct">&quot;</span> <span class="punct">%</span> <span class="punct">[</span><span class="ident">num_responding</span><span class="punct">]</span>
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">=&gt;</span> <span class="punct">&quot;</span><span class="string">none (null reason)</span><span class="punct">&quot;,</span>
203
- <span class="number">1</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">completed (got an ICMP port unreach)</span><span class="punct">&quot;,</span>
204
- <span class="number">2</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">unreach (got an other ICMP unreach code)</span><span class="punct">&quot;,</span>
205
- <span class="number">3</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">icmp (got an ICMP msg, not unreach)</span><span class="punct">&quot;,</span>
206
- <span class="number">4</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">loop (loop detected)</span><span class="punct">&quot;,</span>
207
- <span class="number">5</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">dead (unresponsive target)</span><span class="punct">&quot;,</span>
208
- <span class="number">6</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">error (sendto error)</span><span class="punct">&quot;</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">&quot;</span><span class="string">&lt;&lt;UNKNOWN STOP CODE&gt;&gt;</span><span class="punct">&quot;</span>
197
+ <span class="ident">printf</span> <span class="punct">&quot;</span><span class="string">%8d traces<span class="escape">\n</span></span><span class="punct">&quot;,</span> <span class="ident">num_traces</span>
198
+ <span class="ident">printf</span> <span class="punct">&quot;</span><span class="string">%8d responding<span class="escape">\n</span></span><span class="punct">&quot;,</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">puts</span> <span class="punct">&quot;</span><span class="string">%8d stop reason %d, %s</span><span class="punct">&quot;</span> <span class="punct">%</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="ident">stop_text</span><span class="punct">[</span><span class="ident">k</span><span class="punct">]]</span>
202
+ <span class="ident">printf</span> <span class="punct">&quot;</span><span class="string">%8d stop reason %d, %s<span class="escape">\n</span></span><span class="punct">&quot;,</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">puts</span> <span class="punct">&quot;</span><span class="string">%8d %d hops</span><span class="punct">&quot;</span> <span class="punct">%</span> <span class="punct">[</span><span class="ident">v</span><span class="punct">,</span> <span class="ident">k</span><span class="punct">]</span>
207
+ <span class="ident">printf</span> <span class="punct">&quot;</span><span class="string">%8d %d hops<span class="escape">\n</span></span><span class="punct">&quot;,</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, dead (unresponsive target)</span>
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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&quot;</span><span class="string">trace to </span><span class="punct">&quot;</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&quot;</span><span class="string">trace to </span><span class="punct">&quot;</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&quot;</span><span class="string">trace to </span><span class="punct">&quot;</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&quot;</span><span class="string">trace to </span><span class="punct">&quot;</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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::File::LIST</code> passed
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">File</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">File</span><span class="punct">::</span><span class="constant">LIST</span>
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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">File</span><span class="punct">::</span><span class="constant">LIST</span>
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">&quot;</span><span class="string"> id: </span><span class="punct">&quot;</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">&quot;</span><span class="string"> name: </span><span class="punct">&quot;</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">&quot;</span><span class="string"> descr: </span><span class="punct">&quot;</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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::File::CYCLE_xxx</code>
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">File</span><span class="punct">::</span><span class="constant">CYCLE_START</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">start</span><span class="punct">&quot;,</span>
664
- <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">stop</span><span class="punct">&quot;,</span>
665
- <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">def</span><span class="punct">&quot;</span>
651
+ <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_START</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">start</span><span class="punct">&quot;,</span>
652
+ <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">stop</span><span class="punct">&quot;,</span>
653
+ <span class="constant">Warts</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">def</span><span class="punct">&quot;</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">File</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">File</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span>
675
- <span class="constant">Warts</span><span class="punct">::</span><span class="constant">File</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">File</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span>
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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">File</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">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span><span class="punct">,</span>
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">&quot;</span><span class="string"><span class="escape">\n</span>===&gt; cycle </span><span class="punct">&quot;</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">&quot;</span><span class="string"> id: </span><span class="punct">&quot;</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">&quot;</span><span class="string">start_time: </span><span class="punct">&quot;</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">&quot;</span><span class="string">out.warts</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">w</span><span class="punct">&quot;</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&amp;&amp;</span> <span class="ident">trace</span><span class="punct">.</span><span class="ident">path_length</span> <span class="punct">&gt;</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">&quot;</span><span class="string">out.warts</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">w</span><span class="punct">&quot;</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">File</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">File</span><span class="punct">::</span><span class="constant">CYCLE_START</span><span class="punct">,</span>
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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&amp;&amp;</span> <span class="ident">element</span><span class="punct">.</span><span class="ident">path_length</span> <span class="punct">&gt;</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">&quot;</span><span class="string">out.txt</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">w</span><span class="punct">&quot;,</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">&quot;</span><span class="string">w</span><span class="punct">&quot;,</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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">File</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">File</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span><span class="punct">,</span>
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">=&gt;</span> <span class="number">5</span><span class="punct">,</span> <span class="symbol">:hostname</span> <span class="punct">=&gt;</span> <span class="punct">&quot;</span><span class="string">foo.bar.com</span><span class="punct">&quot;)</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">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
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">File</span><span class="punct">::</span><span class="constant">TRACE</span>
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">File</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">File</span><span class="punct">::</span><span class="constant">CYCLE_DEF</span><span class="punct">,</span>
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">=&gt;</span> <span class="punct">&quot;</span><span class="string">dnssurvey</span><span class="punct">&quot;)</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">=&gt;</span> <span class="number">5</span><span class="punct">,</span> <span class="symbol">:list</span> <span class="punct">=&gt;</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">File</span><span class="punct">::</span><span class="constant">CYCLE_STOP</span>
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>