bigbench 0.0.1 → 0.0.2

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.
Files changed (52) hide show
  1. data/README.textile +60 -22
  2. data/Rakefile +7 -0
  3. data/bigbench.gemspec +5 -0
  4. data/dev/net_http.rb +78 -0
  5. data/dev/test.rb +13 -0
  6. data/dev/tracking.rb +49 -0
  7. data/doc/BigBench.html +22 -17
  8. data/doc/BigBench/Benchmark.html +12 -8
  9. data/doc/BigBench/Benchmark/Benchmark.html +17 -27
  10. data/doc/BigBench/Benchmark/Looper.html +340 -0
  11. data/doc/BigBench/Bot.html +4 -2
  12. data/doc/BigBench/Configuration.html +20 -11
  13. data/doc/BigBench/Configuration/Config.html +23 -8
  14. data/doc/BigBench/Configuration/InvalidOptions.html +5 -3
  15. data/doc/BigBench/Executor.html +4 -2
  16. data/doc/BigBench/Executor/InvalidCommand.html +4 -2
  17. data/doc/BigBench/Fragment.html +46 -29
  18. data/doc/BigBench/Fragment/Fragment.html +18 -28
  19. data/doc/BigBench/Output.html +4 -2
  20. data/doc/BigBench/Runner.html +12 -9
  21. data/doc/BigBench/Runner/NoBenchmarksDefined.html +4 -2
  22. data/doc/BigBench/Store.html +4 -2
  23. data/doc/BigBench/Tracker.html +4 -2
  24. data/doc/BigBench/Tracker/Tracker.html +5 -3
  25. data/doc/EventMachineLoop.html +296 -0
  26. data/doc/Float.html +4 -2
  27. data/doc/Gemfile.html +4 -2
  28. data/doc/Helpers.html +4 -2
  29. data/doc/Object.html +87 -2
  30. data/doc/Rakefile.html +10 -3
  31. data/doc/created.rid +36 -31
  32. data/doc/index.html +4 -2
  33. data/doc/js/search_index.js +1 -1
  34. data/doc/lib/bigbench/help/executor_txt.html +4 -2
  35. data/doc/table_of_contents.html +31 -16
  36. data/lib/bigbench.rb +3 -0
  37. data/lib/bigbench/benchmark.rb +11 -21
  38. data/lib/bigbench/benchmark/looper.rb +43 -0
  39. data/lib/bigbench/configuration.rb +17 -10
  40. data/lib/bigbench/fragment.rb +47 -34
  41. data/lib/bigbench/runner.rb +8 -7
  42. data/lib/bigbench/tracker.rb +3 -3
  43. data/lib/bigbench/version.rb +1 -1
  44. data/spec/benchmark_spec.rb +14 -7
  45. data/spec/configure_spec.rb +3 -3
  46. data/spec/fragment_spec.rb +186 -24
  47. data/spec/helpers.rb +2 -4
  48. data/spec/lib/test_web_server.rb +44 -15
  49. data/spec/looper_spec.rb +47 -0
  50. data/spec/tests/local.rb +1 -1
  51. data/spec/webserver_spec.rb +91 -21
  52. metadata +77 -15
@@ -107,6 +107,8 @@
107
107
 
108
108
  <li><a href="../../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
109
109
 
110
+ <li><a href="../../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
111
+
110
112
  <li><a href="../../BigBench/Bot.html">BigBench::Bot</a>
111
113
 
112
114
  <li><a href="../../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -135,14 +137,14 @@
135
137
 
136
138
  <li><a href="../../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
137
139
 
140
+ <li><a href="../../EventMachineLoop.html">EventMachineLoop</a>
141
+
138
142
  <li><a href="../../Float.html">Float</a>
139
143
 
140
144
  <li><a href="../../Helpers.html">Helpers</a>
141
145
 
142
146
  <li><a href="../../Object.html">Object</a>
143
147
 
144
- <li><a href="../../TestWebServer.html">TestWebServer</a>
145
-
146
148
  </ul>
147
149
  </nav>
148
150
 
@@ -198,9 +200,9 @@
198
200
  </div>
199
201
  </div>
200
202
 
201
- <div id="attribute-i-params" class="method-detail">
203
+ <div id="attribute-i-options" class="method-detail">
202
204
  <div class="method-heading attribute-method-heading">
203
- <span class="method-name">params</span><span
205
+ <span class="method-name">options</span><span
204
206
  class="attribute-access-type">[RW]</span>
205
207
  </div>
206
208
 
@@ -250,7 +252,7 @@
250
252
 
251
253
  <div class="method-heading">
252
254
  <span class="method-name">new</span><span
253
- class="method-args">(benchmark, path, method, params = {})</span>
255
+ class="method-args">(benchmark, path, method, options = {})</span>
254
256
  <span class="method-click-advice">click to toggle source</span>
255
257
  </div>
256
258
 
@@ -262,10 +264,11 @@
262
264
 
263
265
 
264
266
  <div class="method-source-code" id="new-source">
265
- <pre><span class="ruby-comment"># File lib/bigbench/fragment.rb, line 30</span>
266
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">benchmark</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">method</span>, <span class="ruby-identifier">params</span> = {}
267
- <span class="ruby-ivar">@benchmark</span>, <span class="ruby-ivar">@path</span>, <span class="ruby-ivar">@method</span>, <span class="ruby-ivar">@params</span> = <span class="ruby-identifier">benchmark</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">method</span>, <span class="ruby-identifier">params</span>
267
+ <pre><span class="ruby-comment"># File lib/bigbench/fragment.rb, line 42</span>
268
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">benchmark</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">method</span>, <span class="ruby-identifier">options</span> = {}
269
+ <span class="ruby-ivar">@benchmark</span>, <span class="ruby-ivar">@path</span>, <span class="ruby-ivar">@method</span>, <span class="ruby-ivar">@options</span>, <span class="ruby-ivar">@request_options</span> = <span class="ruby-identifier">benchmark</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">method</span>, <span class="ruby-identifier">options</span>, {}
268
270
  <span class="ruby-ivar">@uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-ivar">@benchmark</span>.<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@path</span>)
271
+ <span class="ruby-identifier">configure_options</span>
269
272
  <span class="ruby-keyword">end</span></pre>
270
273
  </div><!-- new-source -->
271
274
 
@@ -287,7 +290,7 @@
287
290
 
288
291
  <div class="method-heading">
289
292
  <span class="method-name">run!</span><span
290
- class="method-args">(http)</span>
293
+ class="method-args">()</span>
291
294
  <span class="method-click-advice">click to toggle source</span>
292
295
  </div>
293
296
 
@@ -300,22 +303,9 @@ block</p>
300
303
 
301
304
 
302
305
  <div class="method-source-code" id="run-21-source">
303
- <pre><span class="ruby-comment"># File lib/bigbench/fragment.rb, line 36</span>
304
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">run!</span>(<span class="ruby-identifier">http</span>)
305
- <span class="ruby-identifier">request</span> = <span class="ruby-keyword">case</span> <span class="ruby-ivar">@method</span>
306
- <span class="ruby-keyword">when</span> <span class="ruby-value">:get</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Get</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">request_uri</span>)
307
- <span class="ruby-keyword">when</span> <span class="ruby-value">:post</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Post</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">request_uri</span>)
308
- <span class="ruby-keyword">when</span> <span class="ruby-value">:put</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Put</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">request_uri</span>)
309
- <span class="ruby-keyword">when</span> <span class="ruby-value">:delete</span> <span class="ruby-keyword">then</span> <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Delete</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">request_uri</span>)
310
- <span class="ruby-keyword">else</span> <span class="ruby-keyword">nil</span>
311
- <span class="ruby-keyword">end</span>
312
-
313
- <span class="ruby-identifier">start</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
314
- <span class="ruby-identifier">response</span> = <span class="ruby-identifier">http</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">request</span>)
315
- <span class="ruby-identifier">stop</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
316
-
317
- <span class="ruby-identifier">track!</span>(<span class="ruby-identifier">start</span>, <span class="ruby-identifier">stop</span>, <span class="ruby-identifier">response</span>)
318
- <span class="ruby-identifier">response</span>
306
+ <pre><span class="ruby-comment"># File lib/bigbench/fragment.rb, line 49</span>
307
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">run!</span>
308
+ <span class="ruby-constant">EventMachine</span><span class="ruby-operator">::</span><span class="ruby-constant">HttpRequest</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>).<span class="ruby-identifier">send</span>(<span class="ruby-ivar">@method</span>, <span class="ruby-ivar">@request_options</span>)
319
309
  <span class="ruby-keyword">end</span></pre>
320
310
  </div><!-- run-21-source -->
321
311
 
@@ -331,7 +321,7 @@ block</p>
331
321
 
332
322
  <div class="method-heading">
333
323
  <span class="method-name">track!</span><span
334
- class="method-args">(start, stop, response)</span>
324
+ class="method-args">(start, stop, http)</span>
335
325
  <span class="method-click-advice">click to toggle source</span>
336
326
  </div>
337
327
 
@@ -344,7 +334,7 @@ block</p>
344
334
 
345
335
  <div class="method-source-code" id="track-21-source">
346
336
  <pre><span class="ruby-comment"># File lib/bigbench/fragment.rb, line 54</span>
347
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">track!</span>(<span class="ruby-identifier">start</span>, <span class="ruby-identifier">stop</span>, <span class="ruby-identifier">response</span>)
337
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">track!</span>(<span class="ruby-identifier">start</span>, <span class="ruby-identifier">stop</span>, <span class="ruby-identifier">http</span>)
348
338
  <span class="ruby-ivar">@benchmark</span>.<span class="ruby-identifier">tracker</span>.<span class="ruby-identifier">track</span>(
349
339
  {
350
340
  <span class="ruby-value">:elapsed</span> =<span class="ruby-operator">&gt;</span> (<span class="ruby-identifier">stop</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">benchmark</span>.<span class="ruby-identifier">start</span>).<span class="ruby-identifier">to_f</span>,
@@ -355,7 +345,7 @@ block</p>
355
345
  <span class="ruby-value">:url</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">to_s</span>,
356
346
  <span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@uri</span>.<span class="ruby-identifier">request_uri</span>,
357
347
  <span class="ruby-value">:method</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@method</span>,
358
- <span class="ruby-value">:status</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span>
348
+ <span class="ruby-value">:status</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">http</span>.<span class="ruby-identifier">response_header</span>.<span class="ruby-identifier">status</span>
359
349
  }
360
350
  )
361
351
  <span class="ruby-keyword">end</span></pre>
@@ -125,6 +125,8 @@
125
125
 
126
126
  <li><a href="../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
127
127
 
128
+ <li><a href="../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
129
+
128
130
  <li><a href="../BigBench/Bot.html">BigBench::Bot</a>
129
131
 
130
132
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -153,14 +155,14 @@
153
155
 
154
156
  <li><a href="../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
155
157
 
158
+ <li><a href="../EventMachineLoop.html">EventMachineLoop</a>
159
+
156
160
  <li><a href="../Float.html">Float</a>
157
161
 
158
162
  <li><a href="../Helpers.html">Helpers</a>
159
163
 
160
164
  <li><a href="../Object.html">Object</a>
161
165
 
162
- <li><a href="../TestWebServer.html">TestWebServer</a>
163
-
164
166
  </ul>
165
167
  </nav>
166
168
 
@@ -97,6 +97,8 @@
97
97
 
98
98
  <li><a href="../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
99
99
 
100
+ <li><a href="../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
101
+
100
102
  <li><a href="../BigBench/Bot.html">BigBench::Bot</a>
101
103
 
102
104
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -125,14 +127,14 @@
125
127
 
126
128
  <li><a href="../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
127
129
 
130
+ <li><a href="../EventMachineLoop.html">EventMachineLoop</a>
131
+
128
132
  <li><a href="../Float.html">Float</a>
129
133
 
130
134
  <li><a href="../Helpers.html">Helpers</a>
131
135
 
132
136
  <li><a href="../Object.html">Object</a>
133
137
 
134
- <li><a href="../TestWebServer.html">TestWebServer</a>
135
-
136
138
  </ul>
137
139
  </nav>
138
140
 
@@ -189,13 +191,14 @@ the redis storage.</p>
189
191
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoBenchmarksDefined</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">benchmarks</span>.<span class="ruby-identifier">empty?</span>
190
192
 
191
193
  <span class="ruby-comment"># Run all benchmarks</span>
192
- <span class="ruby-ivar">@running_threads</span> = []
193
- <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">benchmarks</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">benchmark</span><span class="ruby-operator">|</span>
194
- <span class="ruby-ivar">@running_threads</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span>{ <span class="ruby-identifier">benchmark</span>.<span class="ruby-identifier">run!</span> }
195
- <span class="ruby-keyword">end</span>
196
-
197
- <span class="ruby-comment"># Wait for them to finish</span>
198
- <span class="ruby-ivar">@running_threads</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">thread</span><span class="ruby-operator">|</span> <span class="ruby-identifier">thread</span>.<span class="ruby-identifier">join</span> }
194
+ <span class="ruby-constant">EventMachine</span>.<span class="ruby-identifier">run</span> {
195
+
196
+ <span class="ruby-comment"># Start Timer</span>
197
+ <span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span> { <span class="ruby-identifier">sleep</span>(<span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">duration</span>.<span class="ruby-identifier">to_i</span>); <span class="ruby-constant">EventMachine</span>.<span class="ruby-identifier">stop</span> }
198
+
199
+ <span class="ruby-comment"># Start Benchmarks</span>
200
+ <span class="ruby-constant">BigBench</span>.<span class="ruby-identifier">benchmarks</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">benchmark</span><span class="ruby-operator">|</span> <span class="ruby-identifier">benchmark</span>.<span class="ruby-identifier">run!</span> }
201
+ }
199
202
  <span class="ruby-keyword">end</span></pre>
200
203
  </div><!-- run-21-source -->
201
204
 
@@ -103,6 +103,8 @@
103
103
 
104
104
  <li><a href="../../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
105
105
 
106
+ <li><a href="../../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
107
+
106
108
  <li><a href="../../BigBench/Bot.html">BigBench::Bot</a>
107
109
 
108
110
  <li><a href="../../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -131,14 +133,14 @@
131
133
 
132
134
  <li><a href="../../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
133
135
 
136
+ <li><a href="../../EventMachineLoop.html">EventMachineLoop</a>
137
+
134
138
  <li><a href="../../Float.html">Float</a>
135
139
 
136
140
  <li><a href="../../Helpers.html">Helpers</a>
137
141
 
138
142
  <li><a href="../../Object.html">Object</a>
139
143
 
140
- <li><a href="../../TestWebServer.html">TestWebServer</a>
141
-
142
144
  </ul>
143
145
  </nav>
144
146
 
@@ -121,6 +121,8 @@
121
121
 
122
122
  <li><a href="../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
123
123
 
124
+ <li><a href="../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
125
+
124
126
  <li><a href="../BigBench/Bot.html">BigBench::Bot</a>
125
127
 
126
128
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -149,14 +151,14 @@
149
151
 
150
152
  <li><a href="../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
151
153
 
154
+ <li><a href="../EventMachineLoop.html">EventMachineLoop</a>
155
+
152
156
  <li><a href="../Float.html">Float</a>
153
157
 
154
158
  <li><a href="../Helpers.html">Helpers</a>
155
159
 
156
160
  <li><a href="../Object.html">Object</a>
157
161
 
158
- <li><a href="../TestWebServer.html">TestWebServer</a>
159
-
160
162
  </ul>
161
163
  </nav>
162
164
 
@@ -87,6 +87,8 @@
87
87
 
88
88
  <li><a href="../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
89
89
 
90
+ <li><a href="../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
91
+
90
92
  <li><a href="../BigBench/Bot.html">BigBench::Bot</a>
91
93
 
92
94
  <li><a href="../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -115,14 +117,14 @@
115
117
 
116
118
  <li><a href="../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
117
119
 
120
+ <li><a href="../EventMachineLoop.html">EventMachineLoop</a>
121
+
118
122
  <li><a href="../Float.html">Float</a>
119
123
 
120
124
  <li><a href="../Helpers.html">Helpers</a>
121
125
 
122
126
  <li><a href="../Object.html">Object</a>
123
127
 
124
- <li><a href="../TestWebServer.html">TestWebServer</a>
125
-
126
128
  </ul>
127
129
  </nav>
128
130
 
@@ -105,6 +105,8 @@
105
105
 
106
106
  <li><a href="../../BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
107
107
 
108
+ <li><a href="../../BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
109
+
108
110
  <li><a href="../../BigBench/Bot.html">BigBench::Bot</a>
109
111
 
110
112
  <li><a href="../../BigBench/Configuration.html">BigBench::Configuration</a>
@@ -133,14 +135,14 @@
133
135
 
134
136
  <li><a href="../../BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
135
137
 
138
+ <li><a href="../../EventMachineLoop.html">EventMachineLoop</a>
139
+
136
140
  <li><a href="../../Float.html">Float</a>
137
141
 
138
142
  <li><a href="../../Helpers.html">Helpers</a>
139
143
 
140
144
  <li><a href="../../Object.html">Object</a>
141
145
 
142
- <li><a href="../../TestWebServer.html">TestWebServer</a>
143
-
144
146
  </ul>
145
147
  </nav>
146
148
 
@@ -246,7 +248,7 @@
246
248
  <div class="method-source-code" id="track-source">
247
249
  <pre><span class="ruby-comment"># File lib/bigbench/tracker.rb, line 20</span>
248
250
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">track</span> <span class="ruby-identifier">object</span>
249
- <span class="ruby-ivar">@trackings</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">object</span>.<span class="ruby-identifier">to_json</span>
251
+ <span class="ruby-ivar">@trackings</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">object</span>
250
252
  <span class="ruby-keyword">end</span></pre>
251
253
  </div><!-- track-source -->
252
254
 
@@ -0,0 +1,296 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class EventMachineLoop - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "./";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="./index.html">Home</a>
28
+ <a href="./table_of_contents.html#classes">Classes</a>
29
+ <a href="./table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>dev/net_http.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+ <nav id="parent-class-section" class="section">
60
+ <h3 class="section-header">Parent</h3>
61
+
62
+ <p class="link"><a href="Object.html">Object</a>
63
+
64
+ </nav>
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <nav id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+
71
+ <ul class="link-list">
72
+
73
+ <li><a href="#method-c-new">::new</a>
74
+
75
+ <li><a href="#method-i-all_requests_done-3F">#all_requests_done?</a>
76
+
77
+ <li><a href="#method-i-request-21">#request!</a>
78
+
79
+ </ul>
80
+ </nav>
81
+
82
+ </div>
83
+
84
+ <div id="project-metadata">
85
+ <nav id="fileindex-section" class="section project-section">
86
+ <h3 class="section-header">Pages</h3>
87
+
88
+ <ul>
89
+
90
+ <li class="file"><a href="./Gemfile.html">Gemfile</a>
91
+
92
+ <li class="file"><a href="./Rakefile.html">Rakefile</a>
93
+
94
+ <li class="file"><a href="./lib/bigbench/help/executor_txt.html">executor</a>
95
+
96
+ </ul>
97
+ </nav>
98
+
99
+ <nav id="classindex-section" class="section project-section">
100
+ <h3 class="section-header">Class and Module Index</h3>
101
+
102
+ <ul class="link-list">
103
+
104
+ <li><a href="./BigBench.html">BigBench</a>
105
+
106
+ <li><a href="./BigBench/Benchmark.html">BigBench::Benchmark</a>
107
+
108
+ <li><a href="./BigBench/Benchmark/Benchmark.html">BigBench::Benchmark::Benchmark</a>
109
+
110
+ <li><a href="./BigBench/Benchmark/Looper.html">BigBench::Benchmark::Looper</a>
111
+
112
+ <li><a href="./BigBench/Bot.html">BigBench::Bot</a>
113
+
114
+ <li><a href="./BigBench/Configuration.html">BigBench::Configuration</a>
115
+
116
+ <li><a href="./BigBench/Configuration/Config.html">BigBench::Configuration::Config</a>
117
+
118
+ <li><a href="./BigBench/Configuration/InvalidOptions.html">BigBench::Configuration::InvalidOptions</a>
119
+
120
+ <li><a href="./BigBench/Executor.html">BigBench::Executor</a>
121
+
122
+ <li><a href="./BigBench/Executor/InvalidCommand.html">BigBench::Executor::InvalidCommand</a>
123
+
124
+ <li><a href="./BigBench/Fragment.html">BigBench::Fragment</a>
125
+
126
+ <li><a href="./BigBench/Fragment/Fragment.html">BigBench::Fragment::Fragment</a>
127
+
128
+ <li><a href="./BigBench/Output.html">BigBench::Output</a>
129
+
130
+ <li><a href="./BigBench/Runner.html">BigBench::Runner</a>
131
+
132
+ <li><a href="./BigBench/Runner/NoBenchmarksDefined.html">BigBench::Runner::NoBenchmarksDefined</a>
133
+
134
+ <li><a href="./BigBench/Store.html">BigBench::Store</a>
135
+
136
+ <li><a href="./BigBench/Tracker.html">BigBench::Tracker</a>
137
+
138
+ <li><a href="./BigBench/Tracker/Tracker.html">BigBench::Tracker::Tracker</a>
139
+
140
+ <li><a href="./EventMachineLoop.html">EventMachineLoop</a>
141
+
142
+ <li><a href="./Float.html">Float</a>
143
+
144
+ <li><a href="./Helpers.html">Helpers</a>
145
+
146
+ <li><a href="./Object.html">Object</a>
147
+
148
+ </ul>
149
+ </nav>
150
+
151
+ </div>
152
+ </nav>
153
+
154
+ <div id="documentation">
155
+ <h1 class="class">class EventMachineLoop</h1>
156
+
157
+ <div id="description" class="description">
158
+
159
+ </div><!-- description -->
160
+
161
+
162
+
163
+
164
+ <section id="5Buntitled-5D" class="documentation-section">
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <!-- Methods -->
174
+
175
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
176
+ <h3 class="section-header">Public Class Methods</h3>
177
+
178
+
179
+ <div id="method-c-new" class="method-detail ">
180
+
181
+ <div class="method-heading">
182
+ <span class="method-name">new</span><span
183
+ class="method-args">(loops)</span>
184
+ <span class="method-click-advice">click to toggle source</span>
185
+ </div>
186
+
187
+
188
+ <div class="method-description">
189
+
190
+
191
+
192
+
193
+
194
+ <div class="method-source-code" id="new-source">
195
+ <pre><span class="ruby-comment"># File dev/net_http.rb, line 47</span>
196
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">loops</span>
197
+ <span class="ruby-ivar">@total_loops</span>, <span class="ruby-ivar">@loops</span> = <span class="ruby-identifier">loops</span>, <span class="ruby-value">0</span>
198
+ <span class="ruby-keyword">end</span></pre>
199
+ </div><!-- new-source -->
200
+
201
+ </div>
202
+
203
+
204
+
205
+
206
+ </div><!-- new-method -->
207
+
208
+
209
+ </section><!-- public-class-method-details -->
210
+
211
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
212
+ <h3 class="section-header">Public Instance Methods</h3>
213
+
214
+
215
+ <div id="method-i-all_requests_done-3F" class="method-detail ">
216
+
217
+ <div class="method-heading">
218
+ <span class="method-name">all_requests_done?</span><span
219
+ class="method-args">()</span>
220
+ <span class="method-click-advice">click to toggle source</span>
221
+ </div>
222
+
223
+
224
+ <div class="method-description">
225
+
226
+
227
+
228
+
229
+
230
+ <div class="method-source-code" id="all_requests_done-3F-source">
231
+ <pre><span class="ruby-comment"># File dev/net_http.rb, line 64</span>
232
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">all_requests_done?</span>
233
+ <span class="ruby-ivar">@loops</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-ivar">@total_loops</span>
234
+ <span class="ruby-keyword">end</span></pre>
235
+ </div><!-- all_requests_done-3F-source -->
236
+
237
+ </div>
238
+
239
+
240
+
241
+
242
+ </div><!-- all_requests_done-3F-method -->
243
+
244
+
245
+ <div id="method-i-request-21" class="method-detail ">
246
+
247
+ <div class="method-heading">
248
+ <span class="method-name">request!</span><span
249
+ class="method-args">()</span>
250
+ <span class="method-click-advice">click to toggle source</span>
251
+ </div>
252
+
253
+
254
+ <div class="method-description">
255
+
256
+
257
+
258
+
259
+
260
+ <div class="method-source-code" id="request-21-source">
261
+ <pre><span class="ruby-comment"># File dev/net_http.rb, line 51</span>
262
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">request!</span>
263
+ <span class="ruby-identifier">http</span> = <span class="ruby-constant">EventMachine</span><span class="ruby-operator">::</span><span class="ruby-constant">HttpRequest</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">'http://localhost:3000'</span>).<span class="ruby-identifier">get</span>
264
+ <span class="ruby-identifier">http</span>.<span class="ruby-identifier">callback</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>
265
+ <span class="ruby-ivar">@loops</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
266
+ <span class="ruby-identifier">http</span>.<span class="ruby-identifier">response</span>
267
+ <span class="ruby-identifier">all_requests_done?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">EM</span>.<span class="ruby-identifier">stop</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">request!</span>
268
+ }
269
+ <span class="ruby-identifier">http</span>.<span class="ruby-identifier">errback</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>
270
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;EventMachine Request Error: #{http.error} #{http.inspect}&quot;</span>
271
+ <span class="ruby-constant">EM</span>.<span class="ruby-identifier">stop</span>
272
+ }
273
+ <span class="ruby-keyword">end</span></pre>
274
+ </div><!-- request-21-source -->
275
+
276
+ </div>
277
+
278
+
279
+
280
+
281
+ </div><!-- request-21-method -->
282
+
283
+
284
+ </section><!-- public-instance-method-details -->
285
+
286
+ </section><!-- 5Buntitled-5D -->
287
+
288
+ </div><!-- documentation -->
289
+
290
+
291
+ <footer id="validator-badges">
292
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
293
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
294
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
295
+ </footer>
296
+