rb-wartslib 0.9.11 → 0.9.12

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.
@@ -0,0 +1,40 @@
1
+
2
+ /* -----------------------------------------------------------
3
+ LAYOUT
4
+ positioning of page elements
5
+ ----------------------------------------------------------- */
6
+
7
+ .twikiLeft {
8
+ float:left;
9
+ position:relative;
10
+ }
11
+
12
+ /* -----------------------------------------------------------
13
+ Positioning of layout blocks
14
+ ----------------------------------------------------------- */
15
+
16
+ .twikiLeftBar {
17
+ position:absolute;
18
+ left:0;
19
+ margin:0;
20
+ padding:0;
21
+ }
22
+
23
+ /* setting the height of the top bar */
24
+
25
+ .twikiLeftBar {
26
+ top:60px;
27
+ }
28
+ .twikiTopBar {
29
+ height:60px;
30
+ }
31
+
32
+ /* positioning the left bar (width:13em) */
33
+
34
+ .twikiLeftBar,
35
+ .twikiLeftBarContents /* needed for Explorer 5.0 */ {
36
+ width:13em;
37
+ }
38
+ .twikiMain {
39
+ margin-left:13em;
40
+ }
@@ -0,0 +1,229 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>rb-wartslib: Class Reference</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6
+ <link rel="stylesheet" type="text/css" href="layout.css">
7
+ <link rel="stylesheet" type="text/css" href="style.css">
8
+ </head>
9
+
10
+ <body>
11
+
12
+ <div class="twikiTopBar">
13
+ <div class="twikiTopBarContents">
14
+ <h1 class="pagetitle">rb-wartslib: Ruby Warts Library</h1>
15
+ </div>
16
+ </div>
17
+
18
+ <a name="PageTop"></a>
19
+ <div class="twikiLeftBar">
20
+ <div class="twikiLeftBarContents">
21
+ <ul>
22
+ <li> <a href="index.html">Project Home Page</a></li>
23
+ <li> <a href="http://rubyforge.org/projects/rb-wartslib/">RubyForge Page</a></li>
24
+ </ul>
25
+ <hr>
26
+ <ul>
27
+ <li> <a href="index.html#installation">Installation</a></li>
28
+ <li> <a href="tutorial.html">Tutorial</a></li>
29
+ <li> <a href="reference.html"><b>Class Reference</b></a></li>
30
+ <li> <a href="#File_class">&nbsp;&nbsp;&bull; Warts::File</a></li>
31
+ <li> <a href="#Trace_class">&nbsp;&nbsp;&bull; Warts::Trace</a></li>
32
+ <li> <a href="#List_class">&nbsp;&nbsp;&bull; Warts::List</a></li>
33
+ <li> <a href="#Cycle_class">&nbsp;&nbsp;&bull; Warts::Cycle</a></li>
34
+ <li> <a href="samples.html">Sample Scripts</a></li>
35
+ </ul>
36
+ <hr>
37
+ <ul>
38
+ <li> <a href="index.html#contact">Contact</a></li>
39
+ <li> <a href="index.html#license">License</a></li>
40
+ </ul>
41
+ </div></div>
42
+
43
+ <div class="twikiMain">
44
+ <div class="twikiTopic">
45
+ <h1>Class Reference</h1>
46
+
47
+ <p>
48
+ <b>Under construction...</b>
49
+ </p>
50
+
51
+ <h2><a name="File_class"></a>Warts::File</h2>
52
+
53
+ <h3><a name="File_object_types"></a>Object Type Constants</h3>
54
+
55
+ <p class="constant_desc">
56
+ These constants are used to specify a filter in a call to
57
+ <a href="#File_add_filters_method"><code>Warts::File#add_filters</code></a>
58
+ and related methods.
59
+ </p>
60
+
61
+ <dl>
62
+ <dt>LIST</dt>
63
+ <dd>Specifies a list object type. A <i>destination list</i> is a
64
+ set of addresses to probe. A <i>list object</i> describes a
65
+ destination list, including the list ID, name, and description.</dd>
66
+
67
+ <dt>CYCLE_START</dt>
68
+ <dd>Specifies a cycle-start object type. A <i>cycle</i> is a single
69
+ pass through a destination list. A <i>cycle-start object</i>
70
+ describes the cycle a given trace belongs to, and gives the cycle ID,
71
+ start time, end time (usually not filled in), and hostname. A
72
+ cycle-start object will appear in a file before any traces that belong
73
+ to it.</dd>
74
+
75
+ <dt>CYCLE_DEF</dt>
76
+ <dd>Specifies a cycle-def object type. A <i>cycle-def object</i> is
77
+ more or less the same thing as a cycle-start object. Scamper
78
+ writes out cycle-def objects when the traces of a cycle are written
79
+ out across multiple files. The very first file will have a cycle-start
80
+ object, and all subsequent files will have a cycle-def object.</dd>
81
+
82
+ <dt>CYCLE_STOP</dt>
83
+ <dd>Specifies a cycle-stop object type. A <i>cycle-stop object</i>
84
+ describes the end of a cycle, and gives the cycle ID, start time, end
85
+ time, and hostname. Scamper writes out a cycle-stop object after it
86
+ writes out all traces belonging to the cycle.</dd>
87
+
88
+ <dt>ADDR</dt>
89
+ <dd>Specifies an IP-address object type. An address object
90
+ represents a single IPv4 or IPv6 address. There will be exactly one
91
+ address object for each unique IP address (including sources,
92
+ destinations, and intermediate hops) occurring in a warts file.</dd>
93
+
94
+ <dt>TRACE</dt>
95
+ <dd>Specifies a traceroute object type. A trace object represents a
96
+ single IPv4/IPv6 traceroute to a single destination.</dd>
97
+
98
+ <dt>PING</dt>
99
+ <dd>Specifies a ping object type. A ping object represents a
100
+ single IPv4/IPv6 ping to a single destination.</dd>
101
+ </dl>
102
+
103
+
104
+ <h3><a name="File_object_types"></a>File Type Constants</h3>
105
+
106
+ <p class="constant_desc">
107
+ These constants are used to specify the file format in a call to
108
+ <a href="#File_open_method"><code>Warts::File.open</code></a>.
109
+ </p>
110
+
111
+ <dl>
112
+ <dt>ARTS <span class="equal">=</span> <span class="value">"arts"</span></dt>
113
+ <dd>Specifies the <a href="http://www.caida.org/tools/utilities/arts/">arts++</a> file format.</dd>
114
+
115
+ <dt>TRACEROUTE <span class="equal">=</span> <span class="value">"traceroute"</span></dt>
116
+ <dd>Specifies the textual traceroute file format (this is similar to the output of the traditional <code>traceroute</code> command).</dd>
117
+
118
+ <dt>WARTS <span class="equal">=</span> <span class="value">"warts"</span></dt>
119
+ <dd>Specifies the warts file format (this is the default format).</dd>
120
+ </dl>
121
+
122
+
123
+ <h3>Class Methods</h3>
124
+
125
+ <h4 class="method_sig"><a name="File_open_method"></a><span class="method_name">open</span>(<span class="method_argument">path_or_fd</span>, <span class="method_argument">mode</span><code class="method_default">="r"</code>, <span class="method_argument">type</span><code class="method_default">=Warts::File::WARTS</code>)</h4>
126
+
127
+ <p class="method_desc">
128
+ Opens the warts/arts file given by a file path or an open file
129
+ descriptor (either a numeric file descriptor or an <code>IO</code>
130
+ object). This returns a <code>Warts::File</code> object on success and
131
+ <code>nil</code> on failure. If you provide a block, this yields the
132
+ <code>Warts::File</code> object to the block and closes the file
133
+ automatically upon completion of the block.
134
+ </p>
135
+
136
+ <p class="method_desc">
137
+ By default, the file is opened for reading. To open a file for
138
+ writing, specify <code>"w"</code> for the mode. To append to a file,
139
+ use a mode of <code>"a"</code>. You can't write or append to arts
140
+ files, and you can't read from ASCII traceroute files.
141
+ </p>
142
+
143
+ <p class="method_desc">
144
+ By default, the file is assumed to be in the warts format. You can
145
+ explicitly specify the file type with one of the
146
+ constants <code>ARTS</code>, <code>TRACEROUTE</code>,
147
+ and <code>WARTS</code> defined in <code>Warts::File</code>. If the
148
+ first argument is a path and the <code>type</code> argument is
149
+ missing, then <code>Warts::File.open</code> will try to infer the
150
+ format in two ways, by looking for the standard file
151
+ extensions <code>.warts</code> and <code>.arts</code> and by examining
152
+ the contents of the file.
153
+ </p>
154
+
155
+ <p class="method_desc">
156
+ This method will transparently open compressed files for reading (but
157
+ not writing or appending). The supported compressed file types
158
+ are <code>.gz</code>, <code>.bz2</code>, and <code>.lzo</code>. This
159
+ is implemented by internally spawning off the appropriate command line
160
+ tool (e.g., by executing the equivalent of <code>gzip -dc
161
+ trace.warts.gz | my-script</code>), so these standalone compression
162
+ tools must be available on your system.
163
+ </p>
164
+
165
+
166
+ <p class="method_desc">
167
+ <b>NOTE:</b> Before you can start reading data from an
168
+ open <code>Warts::File</code>, you must add one or more <i>filters</i>
169
+ with <a href="#File_add_filters_method"><code>add_filters</code></a> or <a href="#File_add_all_filters_method"><code>add_all_filters</code></a>.
170
+ </p>
171
+
172
+
173
+ <h3>Instance Attributes</h3>
174
+
175
+ <h4 class="method_sig"><span class="method_name">type</span></h4>
176
+
177
+
178
+
179
+ <h3>Instance Methods</h3>
180
+
181
+ <h4 class="method_sig"><a name="File_add_filters_method"></a><span class="method_name">add_filters</span>(<span class="method_argument">filter1</span>, <span class="method_argument">filter2</span>, <span class="method_argument">...</span>)</h4>
182
+
183
+ <h4 class="method_sig"><a name="File_add_all_filters_method"></a><span class="method_name">add_all_filters</span></h4>
184
+
185
+ <h4 class="method_sig"><a name="clear_filters_method"></a><span class="method_name">clear_filters</span>(<span class="method_argument">filter1</span>, <span class="method_argument">filter2</span>, <span class="method_argument">...</span>)</h4>
186
+
187
+ <h4 class="method_sig"><a name="File_clear_all_filters_method"></a><span class="method_name">clear_all_filters</span></h4>
188
+
189
+
190
+ <h4 class="method_sig"><a name="each_method"></a><span class="method_name">each</span></h4>
191
+
192
+ <h4 class="method_sig"><a name="File_read_method"></a><span class="method_name">read</span></h4>
193
+
194
+ <p class="method_desc">
195
+ The <code>Warts::File#read</code> method returns the next element stored in
196
+ a warts/arts++ file. You specify the types of elements you are interested
197
+ in (that is, to read in) with <code>Warts::File#add_filters</code>.
198
+ The <code>count-traces</code> script above only specifies
199
+ the <code>Warts::File::TRACE</code> filter, so only IPv4 and IPv6
200
+ traceroute elements are returned by <code>read</code>. These traceroute
201
+ elements are instances of <code>Warts::Trace</code>, which provides
202
+ numerous accessor methods for getting at both the data and the metadata of
203
+ a traceroute path. <code>Warts::Trace</code> also provides a number of
204
+ convenience methods.
205
+ </p>
206
+
207
+
208
+ <h4 class="method_sig"><a name="File_write_method"></a><span class="method_name">write</span>(<span class="method_argument">element</span>)</h4>
209
+
210
+ <h4 class="method_sig"><a name="File_write_cycle_start_method"></a><span class="method_name">write_cycle_start</span>(<span class="method_argument">cycle_element</span>)</h4>
211
+
212
+ <h4 class="method_sig"><a name="File_write_cycle_stop_method"></a><span class="method_name">write_cycle_stop</span>(<span class="method_argument">cycle_element</span>)</h4>
213
+
214
+ <h4 class="method_sig"><a name="File_close_method"></a><span class="method_name">close</span></h4>
215
+
216
+ <p class="method_desc">
217
+ Closes an open file.
218
+ </p>
219
+
220
+ <h2><a name="Trace_class"></a>Warts::Trace</h2>
221
+
222
+ <h2><a name="List_class"></a>Warts::List</h2>
223
+
224
+ <h2><a name="Cycle_class"></a>Warts::Cycle</h2>
225
+
226
+
227
+ <!---->
228
+ </div></div>
229
+ </body></html>
@@ -0,0 +1,34 @@
1
+ pre.snippet
2
+ {
3
+ background-color: #FFFFF5;
4
+ border-style: solid;
5
+ border-width: 1px;
6
+ border-color: #998;
7
+ padding: 5px 5px 5px 10px;
8
+ margin-left: 2em;
9
+ }
10
+
11
+ .ruby .normal { color: #000 }
12
+ .ruby .comment { color: #888; font-style: italic; }
13
+ .ruby .keyword { color: #A2F }
14
+ .ruby .method { color: #3B7; font-weight: bold; }
15
+ .ruby .class { color: #3A6; font-weight: bold; }
16
+ .ruby .module { color: #3A6; font-weight: bold; }
17
+ .ruby .punct { color: #000 }
18
+ .ruby .symbol { color: #099; }
19
+ .ruby .string { color: #D55; }
20
+ .ruby .char { color: #F07; }
21
+ .ruby .ident { color: #000 }
22
+ .ruby .constant { color: #04A }
23
+ .ruby .regex { color: #D55; font-weight: bold; }
24
+ .ruby .number { color: #D55; }
25
+ .ruby .attribute { color: #B70; }
26
+ .ruby .global { color: #A00; font-weight: bold; }
27
+ .ruby .expr { color: #227; }
28
+
29
+ .shell_command { color: #04A }
30
+ .command_output { color: #3A6; font-weight: bold; }
31
+
32
+ .fig_red { color: #D55; font-weight: bold; }
33
+ .fig_green { color: #3A6; font-weight: bold; }
34
+ .fig_blue { color: #04A; font-weight: bold; }
@@ -0,0 +1,48 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
+ <html>
3
+ <head>
4
+ <title>rb-wartslib: Sample Analysis Scripts</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6
+ <link rel="stylesheet" type="text/css" href="layout.css">
7
+ <link rel="stylesheet" type="text/css" href="style.css">
8
+ </head>
9
+
10
+ <body>
11
+
12
+ <div class="twikiTopBar">
13
+ <div class="twikiTopBarContents">
14
+ <h1 class="pagetitle">rb-wartslib: Ruby Warts Library</h1>
15
+ </div>
16
+ </div>
17
+
18
+ <a name="PageTop"></a>
19
+ <div class="twikiLeftBar">
20
+ <div class="twikiLeftBarContents">
21
+ <ul>
22
+ <li> <a href="index.html">Project Home Page</a></li>
23
+ <li> <a href="http://rubyforge.org/projects/rb-wartslib/">RubyForge Page</a></li>
24
+ </ul>
25
+ <hr>
26
+ <ul>
27
+ <li> <a href="index.html#installation">Installation</a></li>
28
+ <li> <a href="tutorial.html">Tutorial</a></li>
29
+ <li> <a href="reference.html">Class Reference</a></li>
30
+ <li> <a href="samples.html"><b>Sample Scripts</b></a></li>
31
+ </ul>
32
+ <hr>
33
+ <ul>
34
+ <li> <a href="index.html#contact">Contact</a></li>
35
+ <li> <a href="index.html#license">License</a></li>
36
+ </ul>
37
+ </div></div>
38
+
39
+ <div class="twikiMain">
40
+ <div class="twikiTopic">
41
+ <h1>Sample Analysis Scripts</h1>
42
+ <p>
43
+ <b>Under construction...</b>
44
+ </p>
45
+
46
+ <!---->
47
+ </div></div>
48
+ </body></html>
@@ -0,0 +1,222 @@
1
+ /* -----------------------------------------------------------
2
+ STYLE
3
+ Appearance: margins, fonts, colors
4
+ ----------------------------------------------------------- */
5
+
6
+ /* -----------------------------------------------------------
7
+ General elements
8
+ ----------------------------------------------------------- */
9
+
10
+ /* HTML elements */
11
+
12
+ html body {
13
+ font-family:"Lucida Grande", verdana, lucida, helvetica, sans-serif;
14
+ background-color:#f8f8f8;
15
+ margin:0;
16
+ padding:0;
17
+ }
18
+ p {
19
+ margin:1em 0 0 0;
20
+ }
21
+ hr {
22
+ color:#9E9E70;
23
+ background-color:#9E9E70;
24
+ height:1px;
25
+ border:none;
26
+ }
27
+ pre, code, tt {
28
+ font-size:100%;
29
+ color:#7A4707;
30
+ }
31
+ pre {
32
+ margin-top:1em;
33
+ margin-bottom:1em;
34
+ }
35
+
36
+ /* Text */
37
+
38
+ h1, h2, h3, h4, h5, h6 {
39
+ font-family:"Lucida Grande", helvetica, lucida, verdana, sans-serif;
40
+ line-height:104%;
41
+ padding:0;
42
+ margin:1em 0 0.1em 0;
43
+ }
44
+ h1 {
45
+ font-size:210%;
46
+ color:#e24628;
47
+ margin:1.5em 0 1em 0;
48
+ }
49
+ h1.pagetitle {
50
+ color:#900;
51
+ text-align:center;
52
+ margin-top:.5em;
53
+ margin-bottom:.5em
54
+ }
55
+ h2 {
56
+ font-size:145%;
57
+ display:block;
58
+ background-color:#F3EDE7;
59
+ color:#900;
60
+ padding:0.2em 0.7em;
61
+ margin:1em -0.7em 0.15em -0.7em;
62
+ height:auto;
63
+ }
64
+ h3 {
65
+ font-size:140%;
66
+ border-bottom: medium solid #700;
67
+ color:#900;
68
+ padding-bottom:0.2em;
69
+ margin:1em -0.7em 0.15em 0em;
70
+ height:auto;
71
+ }
72
+
73
+ h4 { font-size:125%; color:#900;}
74
+
75
+ h5 { font-size:110%; color:#900;}
76
+ h6 { font-size:95%; color:#900;}
77
+
78
+ dt {
79
+ color:#e24628;
80
+ font-weight: bold;
81
+ margin-top: 1em;
82
+ }
83
+
84
+ dt .equal {
85
+ color:#000;
86
+ font-weight: bold;
87
+ }
88
+
89
+ dt .value {
90
+ /* color:#04A; */
91
+ /* color:#AAE; */
92
+ color:#D4B28C; /* light brown: 212, 178, 140 */
93
+ font-weight: bold;
94
+ }
95
+
96
+ .method_sig
97
+ {
98
+ color:#e24628;
99
+ /*
100
+ text-indent: -1em;
101
+ margin-left: 1em;
102
+ */
103
+ white-space: nowrap;
104
+ }
105
+
106
+ .method_name
107
+ {
108
+ font-weight: bold;
109
+ font-size:125%;
110
+ /* color:#e24628; */
111
+ color: #CB2711;
112
+ /* color: #B4321D; */
113
+ /* color: #CE2D15; */
114
+ /* color: #BF2A14; */
115
+ /* color: #CF2311; */
116
+ /* color: #CF1F10; */
117
+ }
118
+
119
+ .method_argument
120
+ {
121
+ font-style: italic;
122
+ }
123
+
124
+ .method_default
125
+ {
126
+ /* color:#07C; */
127
+ /* color:#AAE; */
128
+ /* color:#7A4707; */
129
+ color:#D4B28C; /* light brown: 212, 178, 140 */
130
+ }
131
+
132
+ p.method_desc
133
+ p.constant_desc
134
+ {
135
+ margin-left: 2em;
136
+ }
137
+
138
+ /* -----------------------------------------------------------
139
+ TWiki specific elements
140
+ ----------------------------------------------------------- */
141
+
142
+ .twikiMain {
143
+ padding:0 3.5em;
144
+ background-color:white;
145
+ border-width:1px;
146
+ border-style:solid;
147
+ border-color:#ddd #ddd #ddd #ddd;
148
+ }
149
+
150
+ /* Top bar */
151
+
152
+ .twikiTopBarContents {
153
+ margin:0;
154
+ padding:5px 2em 5px 1em; /* right padding same as .twikiViewPage .twikiMain */
155
+ }
156
+
157
+ /* Left bar */
158
+
159
+ .twikiLeftBar {
160
+ overflow:hidden;
161
+ line-height:1.5em;
162
+ }
163
+ .twikiLeftBarContents {
164
+ font-size:12pt;
165
+ font-weight:normal;
166
+ margin:0;
167
+ padding:1em 0 1.7em 1em;
168
+ width:auto;
169
+ border-top:4px solid #22638C;
170
+ }
171
+ .twikiLeftBar ul {
172
+ padding:0;
173
+ margin:0;
174
+ }
175
+ .twikiLeftBar li {
176
+ display:block;
177
+ list-style:none;
178
+ width:100%;
179
+ }
180
+ .twikiLeftBar li a {
181
+ display:block;
182
+ width:98%;
183
+ padding-right:2%;
184
+ }
185
+ html>body .twikiLeftBar li a {
186
+ width:auto;
187
+ }
188
+ .twikiLeftBar hr {
189
+ color:#ccc;
190
+ background-color:#ccc;
191
+ height:1px;
192
+ border:none;
193
+ }
194
+
195
+ /* Links */
196
+
197
+ .twikiLeftBar :link:focus,
198
+ .twikiLeftBar :visited:focus,
199
+ .twikiLeftBar :link,
200
+ .twikiLeftBar :visited,
201
+ .twikiLeftBar :link:active,
202
+ .twikiLeftBar :visited:active {
203
+ text-decoration:none;
204
+ color:#1e5bbd;
205
+ }
206
+
207
+ .twikiLeftBar :link:hover,
208
+ .twikiLeftBar :visited:hover {
209
+ text-decoration:underline;
210
+ background-color:#b4d5ff;
211
+ color:#1559B3;
212
+ }
213
+
214
+ /* Topic text */
215
+
216
+ .twikiTopic {
217
+ padding-bottom:1.5em;
218
+ }
219
+ .twikiTopic ul {
220
+ margin-top:0;
221
+ line-height:130%;
222
+ }