flotype-bridge 0.1.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/README.md +6 -0
  2. data/Rakefile +24 -0
  3. data/doc/Bridge.html +954 -0
  4. data/doc/Bridge/Callback.html +495 -0
  5. data/doc/Bridge/CallbackRef.html +343 -0
  6. data/doc/Bridge/Conn.html +409 -0
  7. data/doc/Bridge/Core.html +762 -0
  8. data/doc/Bridge/LocalRef.html +509 -0
  9. data/doc/Bridge/Ref.html +647 -0
  10. data/doc/Bridge/Service.html +135 -0
  11. data/doc/Bridge/Sys.html +278 -0
  12. data/doc/Bridge/Util.html +746 -0
  13. data/doc/_index.html +202 -0
  14. data/doc/class_list.html +47 -0
  15. data/doc/classes/Bridge.html +263 -0
  16. data/doc/classes/Bridge.src/M000001.html +24 -0
  17. data/doc/classes/Bridge.src/M000002.html +18 -0
  18. data/doc/classes/Bridge.src/M000003.html +18 -0
  19. data/doc/classes/Bridge.src/M000004.html +20 -0
  20. data/doc/classes/Bridge.src/M000005.html +26 -0
  21. data/doc/classes/Bridge.src/M000006.html +22 -0
  22. data/doc/classes/Bridge.src/M000007.html +18 -0
  23. data/doc/classes/Bridge.src/M000008.html +18 -0
  24. data/doc/created.rid +1 -0
  25. data/doc/css/common.css +1 -0
  26. data/doc/css/full_list.css +55 -0
  27. data/doc/css/style.css +322 -0
  28. data/doc/file.README.html +71 -0
  29. data/doc/file_list.html +49 -0
  30. data/doc/files/lib/bridge_rb.html +108 -0
  31. data/doc/fr_class_index.html +27 -0
  32. data/doc/fr_file_index.html +27 -0
  33. data/doc/fr_method_index.html +34 -0
  34. data/doc/frames.html +13 -0
  35. data/doc/index.html +71 -0
  36. data/doc/js/app.js +205 -0
  37. data/doc/js/full_list.js +173 -0
  38. data/doc/js/jquery.js +16 -0
  39. data/doc/method_list.html +510 -0
  40. data/doc/rdoc-style.css +208 -0
  41. data/doc/top-level-namespace.html +105 -0
  42. data/examples/chat/chat_client.rb +41 -0
  43. data/examples/chat/chat_server.rb +24 -0
  44. data/examples/pong/pong.rb +29 -0
  45. data/flotype-bridge.gemspec +24 -0
  46. data/lib/bb/callback.rb +33 -0
  47. data/lib/bb/conn.rb +31 -0
  48. data/lib/bb/core.rb +109 -0
  49. data/lib/bb/localref.rb +37 -0
  50. data/lib/bb/ref.rb +49 -0
  51. data/lib/bb/svc.rb +7 -0
  52. data/lib/bb/sys.rb +17 -0
  53. data/lib/bb/util.rb +93 -0
  54. data/lib/bb/version.rb +3 -0
  55. data/lib/bridge.rb +130 -0
  56. data/rakelib/package.rake +4 -0
  57. data/rakelib/test.rake +8 -0
  58. data/tests/bb_test_helper.rb +3 -0
  59. data/tests/test_serialize.rb +4 -0
  60. metadata +196 -0
@@ -0,0 +1,762 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Bridge::Core
8
+
9
+ &mdash; Documentation by YARD 0.7.5
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (C)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Bridge.html" title="Bridge (module)">Bridge</a></span></span>
38
+ &raquo;
39
+ <span class="title">Core</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Module: Bridge::Core
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dt class="r1 last">Defined in:</dt>
75
+ <dd class="r1 last">lib/bb/core.rb</dd>
76
+
77
+ </dl>
78
+ <div class="clear"></div>
79
+
80
+ <h2>Overview</h2><div class="docstring">
81
+ <div class="discussion">
82
+ <p>
83
+ The internals of the Bridge client. Use of this module is strongly
84
+ unadvised, as the internal structure may vary greatly from that of other
85
+ language implementations.
86
+ </p>
87
+
88
+
89
+ </div>
90
+ </div>
91
+ <div class="tags">
92
+
93
+
94
+ </div>
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <h2>
103
+ Class Method Summary
104
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
105
+ </h2>
106
+
107
+ <ul class="summary">
108
+
109
+ <li class="public ">
110
+ <span class="summary_signature">
111
+
112
+ <a href="#client_id-class_method" title="client_id (class method)">+ (Object) <strong>client_id</strong> </a>
113
+
114
+
115
+
116
+ </span>
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ <span class="summary_desc"><div class='inline'></div></span>
126
+
127
+ </li>
128
+
129
+
130
+ <li class="public ">
131
+ <span class="summary_signature">
132
+
133
+ <a href="#command-class_method" title="command (class method)">+ (Object) <strong>command</strong>(cmd, data) </a>
134
+
135
+
136
+
137
+ </span>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <span class="summary_desc"><div class='inline'></div></span>
147
+
148
+ </li>
149
+
150
+
151
+ <li class="public ">
152
+ <span class="summary_signature">
153
+
154
+ <a href="#connected-class_method" title="connected (class method)">+ (Object) <strong>connected</strong> </a>
155
+
156
+
157
+
158
+ </span>
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+ <span class="summary_desc"><div class='inline'></div></span>
168
+
169
+ </li>
170
+
171
+
172
+ <li class="public ">
173
+ <span class="summary_signature">
174
+
175
+ <a href="#disconnect-class_method" title="disconnect (class method)">+ (Object) <strong>disconnect</strong> </a>
176
+
177
+
178
+
179
+ </span>
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <span class="summary_desc"><div class='inline'></div></span>
189
+
190
+ </li>
191
+
192
+
193
+ <li class="public ">
194
+ <span class="summary_signature">
195
+
196
+ <a href="#enqueue-class_method" title="enqueue (class method)">+ (Object) <strong>enqueue</strong>(fun) </a>
197
+
198
+
199
+
200
+ </span>
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+ <span class="summary_desc"><div class='inline'><p>
210
+ The queue is used primarily for Bridge::ready() callbacks.
211
+ </p>
212
+ </div></span>
213
+
214
+ </li>
215
+
216
+
217
+ <li class="public ">
218
+ <span class="summary_signature">
219
+
220
+ <a href="#lookup-class_method" title="lookup (class method)">+ (Object) <strong>lookup</strong>(ref) </a>
221
+
222
+
223
+
224
+ </span>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+ <span class="summary_desc"><div class='inline'></div></span>
234
+
235
+ </li>
236
+
237
+
238
+ <li class="public ">
239
+ <span class="summary_signature">
240
+
241
+ <a href="#process-class_method" title="process (class method)">+ (Object) <strong>process</strong>(data) </a>
242
+
243
+
244
+
245
+ </span>
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+ <span class="summary_desc"><div class='inline'></div></span>
255
+
256
+ </li>
257
+
258
+
259
+ <li class="public ">
260
+ <span class="summary_signature">
261
+
262
+ <a href="#reconnect-class_method" title="reconnect (class method)">+ (Object) <strong>reconnect</strong>(timeout) </a>
263
+
264
+
265
+
266
+ </span>
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+ <span class="summary_desc"><div class='inline'></div></span>
276
+
277
+ </li>
278
+
279
+
280
+ <li class="public ">
281
+ <span class="summary_signature">
282
+
283
+ <a href="#session-class_method" title="session (class method)">+ (Object) <strong>session</strong> </a>
284
+
285
+
286
+
287
+ </span>
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+ <span class="summary_desc"><div class='inline'></div></span>
297
+
298
+ </li>
299
+
300
+
301
+ <li class="public ">
302
+ <span class="summary_signature">
303
+
304
+ <a href="#store-class_method" title="store (class method)">+ (Object) <strong>store</strong>(svc, obj = nil, named = true) </a>
305
+
306
+
307
+
308
+ </span>
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'></div></span>
318
+
319
+ </li>
320
+
321
+
322
+ </ul>
323
+
324
+
325
+
326
+
327
+ <div id="class_method_details" class="method_details_list">
328
+ <h2>Class Method Details</h2>
329
+
330
+
331
+ <div class="method_details first">
332
+ <p class="signature first" id="client_id-class_method">
333
+
334
+ + (<tt>Object</tt>) <strong>client_id</strong>
335
+
336
+
337
+
338
+ </p><table class="source_code">
339
+ <tr>
340
+ <td>
341
+ <pre class="lines">
342
+
343
+
344
+ 13
345
+ 14
346
+ 15</pre>
347
+ </td>
348
+ <td>
349
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 13</span>
350
+
351
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_client_id identifier id'>client_id</span>
352
+ <span class='rubyid_@@sess ivar id'>@@sess</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='rbrack token'>]</span>
353
+ <span class='rubyid_end end kw'>end</span>
354
+ </pre>
355
+ </td>
356
+ </tr>
357
+ </table>
358
+ </div>
359
+
360
+ <div class="method_details ">
361
+ <p class="signature " id="command-class_method">
362
+
363
+ + (<tt>Object</tt>) <strong>command</strong>(cmd, data)
364
+
365
+
366
+
367
+ </p><table class="source_code">
368
+ <tr>
369
+ <td>
370
+ <pre class="lines">
371
+
372
+
373
+ 81
374
+ 82
375
+ 83
376
+ 84
377
+ 85
378
+ 86
379
+ 87
380
+ 88
381
+ 89</pre>
382
+ </td>
383
+ <td>
384
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 81</span>
385
+
386
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_command identifier id'>command</span> <span class='rubyid_cmd identifier id'>cmd</span><span class='comma token'>,</span> <span class='rubyid_data identifier id'>data</span>
387
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_cmd identifier id'>cmd</span> <span class='eq op'>==</span> <span class='symbol val'>:CONNECT</span>
388
+ <span class='rubyid_Conn constant id'>Conn</span><span class='colon2 op'>::</span><span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_serialize identifier id'>serialize</span><span class='lparen token'>(</span><span class='lbrace token'>{</span><span class='symbol val'>:command</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_cmd identifier id'>cmd</span><span class='comma token'>,</span> <span class='symbol val'>:data</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_data identifier id'>data</span><span class='rbrace token'>}</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
389
+ <span class='rubyid_else else kw'>else</span>
390
+ <span class='rubyid_Core constant id'>Core</span><span class='colon2 op'>::</span><span class='rubyid_enqueue identifier id'>enqueue</span> <span class='rubyid_lambda identifier id'>lambda</span> <span class='lbrace token'>{</span>
391
+ <span class='rubyid_Conn constant id'>Conn</span><span class='colon2 op'>::</span><span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_serialize identifier id'>serialize</span><span class='lparen token'>(</span><span class='lbrace token'>{</span><span class='symbol val'>:command</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_cmd identifier id'>cmd</span><span class='comma token'>,</span> <span class='symbol val'>:data</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='rubyid_data identifier id'>data</span><span class='rbrace token'>}</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
392
+ <span class='rbrace token'>}</span>
393
+ <span class='rubyid_end end kw'>end</span>
394
+ <span class='rubyid_end end kw'>end</span>
395
+ </pre>
396
+ </td>
397
+ </tr>
398
+ </table>
399
+ </div>
400
+
401
+ <div class="method_details ">
402
+ <p class="signature " id="connected-class_method">
403
+
404
+ + (<tt>Object</tt>) <strong>connected</strong>
405
+
406
+
407
+
408
+ </p><table class="source_code">
409
+ <tr>
410
+ <td>
411
+ <pre class="lines">
412
+
413
+
414
+ 17
415
+ 18
416
+ 19</pre>
417
+ </td>
418
+ <td>
419
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 17</span>
420
+
421
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_connected identifier id'>connected</span>
422
+ <span class='rubyid_@@connected ivar id'>@@connected</span>
423
+ <span class='rubyid_end end kw'>end</span>
424
+ </pre>
425
+ </td>
426
+ </tr>
427
+ </table>
428
+ </div>
429
+
430
+ <div class="method_details ">
431
+ <p class="signature " id="disconnect-class_method">
432
+
433
+ + (<tt>Object</tt>) <strong>disconnect</strong>
434
+
435
+
436
+
437
+ </p><table class="source_code">
438
+ <tr>
439
+ <td>
440
+ <pre class="lines">
441
+
442
+
443
+ 104
444
+ 105
445
+ 106
446
+ 107</pre>
447
+ </td>
448
+ <td>
449
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 104</span>
450
+
451
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_disconnect identifier id'>disconnect</span>
452
+ <span class='rubyid_@@connected ivar id'>@@connected</span> <span class='assign token'>=</span> <span class='rubyid_false false kw'>false</span>
453
+ <span class='rubyid_reconnect identifier id'>reconnect</span> <span class='integer val'>0</span><span class='integer val'>.1</span>
454
+ <span class='rubyid_end end kw'>end</span>
455
+ </pre>
456
+ </td>
457
+ </tr>
458
+ </table>
459
+ </div>
460
+
461
+ <div class="method_details ">
462
+ <p class="signature " id="enqueue-class_method">
463
+
464
+ + (<tt>Object</tt>) <strong>enqueue</strong>(fun)
465
+
466
+
467
+
468
+ </p><div class="docstring">
469
+ <div class="discussion">
470
+ <p>
471
+ The queue is used primarily for Bridge::ready() callbacks.
472
+ </p>
473
+
474
+
475
+ </div>
476
+ </div>
477
+ <div class="tags">
478
+
479
+
480
+ </div><table class="source_code">
481
+ <tr>
482
+ <td>
483
+ <pre class="lines">
484
+
485
+
486
+ 22
487
+ 23
488
+ 24
489
+ 25
490
+ 26
491
+ 27
492
+ 28</pre>
493
+ </td>
494
+ <td>
495
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 22</span>
496
+
497
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_enqueue identifier id'>enqueue</span> <span class='rubyid_fun identifier id'>fun</span>
498
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_@@connected ivar id'>@@connected</span>
499
+ <span class='rubyid_fun identifier id'>fun</span><span class='dot token'>.</span><span class='rubyid_call identifier id'>call</span>
500
+ <span class='rubyid_else else kw'>else</span>
501
+ <span class='rubyid_@@queue ivar id'>@@queue</span> <span class='assign token'>=</span> <span class='rubyid_@@queue ivar id'>@@queue</span> <span class='plus op'>+</span> <span class='lbrack token'>[</span><span class='rubyid_fun identifier id'>fun</span><span class='rbrack token'>]</span>
502
+ <span class='rubyid_end end kw'>end</span>
503
+ <span class='rubyid_end end kw'>end</span>
504
+ </pre>
505
+ </td>
506
+ </tr>
507
+ </table>
508
+ </div>
509
+
510
+ <div class="method_details ">
511
+ <p class="signature " id="lookup-class_method">
512
+
513
+ + (<tt>Object</tt>) <strong>lookup</strong>(ref)
514
+
515
+
516
+
517
+ </p><table class="source_code">
518
+ <tr>
519
+ <td>
520
+ <pre class="lines">
521
+
522
+
523
+ 34
524
+ 35
525
+ 36
526
+ 37
527
+ 38
528
+ 39
529
+ 40
530
+ 41
531
+ 42
532
+ 43
533
+ 44
534
+ 45
535
+ 46
536
+ 47</pre>
537
+ </td>
538
+ <td>
539
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 34</span>
540
+
541
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_lookup identifier id'>lookup</span> <span class='rubyid_ref identifier id'>ref</span>
542
+ <span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_log identifier id'>log</span> <span class='string val'>'Looking up ref '</span> <span class='plus op'>+</span> <span class='rubyid_ref identifier id'>ref</span><span class='dot token'>.</span><span class='rubyid_to_json identifier id'>to_json</span>
543
+ <span class='rubyid_ref identifier id'>ref</span> <span class='assign token'>=</span> <span class='rubyid_JSON constant id'>JSON</span><span class='colon2 op'>::</span><span class='rubyid_parse identifier id'>parse</span> <span class='rubyid_ref identifier id'>ref</span><span class='dot token'>.</span><span class='rubyid_to_json identifier id'>to_json</span>
544
+ <span class='rubyid_svc identifier id'>svc</span> <span class='assign token'>=</span> <span class='rubyid_@@services ivar id'>@@services</span><span class='lbrack token'>[</span><span class='rubyid_ref identifier id'>ref</span><span class='lbrack token'>[</span><span class='integer val'>2</span> <span class='dot2 op'>..</span> <span class='integer val'>-1</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_to_json identifier id'>to_json</span><span class='rbrack token'>]</span> <span class='orop op'>||</span> <span class='rubyid_@@services ivar id'>@@services</span><span class='lbrack token'>[</span><span class='lbrack token'>[</span><span class='rubyid_ref identifier id'>ref</span><span class='lbrack token'>[</span><span class='integer val'>2</span><span class='rbrack token'>]</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_to_json identifier id'>to_json</span><span class='rbrack token'>]</span>
545
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_svc identifier id'>svc</span> <span class='neq op'>!=</span> <span class='rubyid_nil nil kw'>nil</span>
546
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_ref identifier id'>ref</span><span class='lbrack token'>[</span><span class='integer val'>3</span><span class='rbrack token'>]</span> <span class='neq op'>!=</span> <span class='rubyid_nil nil kw'>nil</span>
547
+ <span class='rubyid_svc identifier id'>svc</span><span class='dot token'>.</span><span class='rubyid_method identifier id'>method</span><span class='lparen token'>(</span><span class='rubyid_ref identifier id'>ref</span><span class='lbrack token'>[</span><span class='integer val'>3</span><span class='rbrack token'>]</span><span class='rparen token'>)</span>
548
+ <span class='rubyid_else else kw'>else</span>
549
+ <span class='rubyid_svc identifier id'>svc</span>
550
+ <span class='rubyid_end end kw'>end</span>
551
+ <span class='rubyid_else else kw'>else</span>
552
+ <span class='rubyid_Ref constant id'>Ref</span><span class='dot token'>.</span><span class='rubyid_lookup identifier id'>lookup</span> <span class='rubyid_ref identifier id'>ref</span>
553
+ <span class='rubyid_end end kw'>end</span>
554
+ <span class='rubyid_end end kw'>end</span>
555
+ </pre>
556
+ </td>
557
+ </tr>
558
+ </table>
559
+ </div>
560
+
561
+ <div class="method_details ">
562
+ <p class="signature " id="process-class_method">
563
+
564
+ + (<tt>Object</tt>) <strong>process</strong>(data)
565
+
566
+
567
+
568
+ </p><table class="source_code">
569
+ <tr>
570
+ <td>
571
+ <pre class="lines">
572
+
573
+
574
+ 49
575
+ 50
576
+ 51
577
+ 52
578
+ 53
579
+ 54
580
+ 55
581
+ 56
582
+ 57
583
+ 58
584
+ 59
585
+ 60
586
+ 61
587
+ 62
588
+ 63
589
+ 64
590
+ 65
591
+ 66
592
+ 67
593
+ 68
594
+ 69
595
+ 70
596
+ 71
597
+ 72
598
+ 73
599
+ 74
600
+ 75
601
+ 76
602
+ 77
603
+ 78
604
+ 79</pre>
605
+ </td>
606
+ <td>
607
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 49</span>
608
+
609
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_process identifier id'>process</span> <span class='rubyid_data identifier id'>data</span>
610
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_@@len ivar id'>@@len</span> <span class='eq op'>==</span> <span class='integer val'>0</span>
611
+ <span class='rubyid_@@len ivar id'>@@len</span> <span class='assign token'>=</span> <span class='rubyid_data identifier id'>data</span><span class='dot token'>.</span><span class='rubyid_unpack identifier id'>unpack</span><span class='lparen token'>(</span><span class='string val'>'N'</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='rbrack token'>]</span>
612
+ <span class='rubyid_return return kw'>return</span> <span class='rubyid_process identifier id'>process</span> <span class='rubyid_data identifier id'>data</span><span class='lbrack token'>[</span><span class='integer val'>4</span> <span class='dot2 op'>..</span> <span class='integer val'>-1</span><span class='rbrack token'>]</span>
613
+ <span class='rubyid_end end kw'>end</span>
614
+ <span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_log identifier id'>log</span> <span class='string val'>':::: '</span> <span class='plus op'>+</span> <span class='rubyid_data identifier id'>data</span>
615
+ <span class='lparen token'>(</span><span class='rubyid_@@buffer ivar id'>@@buffer</span> <span class='lshft op'>&lt;&lt;</span> <span class='rubyid_data identifier id'>data</span><span class='rparen token'>)</span>
616
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_@@buffer ivar id'>@@buffer</span><span class='dot token'>.</span><span class='rubyid_length identifier id'>length</span> <span class='lt op'>&lt;</span> <span class='rubyid_@@len ivar id'>@@len</span>
617
+ <span class='rubyid_return return kw'>return</span>
618
+ <span class='rubyid_end end kw'>end</span>
619
+ <span class='rubyid_data identifier id'>data</span> <span class='assign token'>=</span> <span class='rubyid_@@buffer ivar id'>@@buffer</span>
620
+ <span class='rubyid_@@buffer ivar id'>@@buffer</span><span class='comma token'>,</span> <span class='rubyid_@@len ivar id'>@@len</span> <span class='assign token'>=</span> <span class='rubyid_@@buffer ivar id'>@@buffer</span><span class='lbrack token'>[</span><span class='rubyid_@@len ivar id'>@@len</span> <span class='dot2 op'>..</span> <span class='integer val'>-1</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='integer val'>0</span>
621
+ <span class='comment val'># If this is the first message, set our SessionId and Secret.</span>
622
+ <span class='rubyid_m identifier id'>m</span> <span class='assign token'>=</span> <span class='regexp val'>/^(\w+)\|(\w+)$/</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span> <span class='rubyid_data identifier id'>data</span>
623
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_m identifier id'>m</span>
624
+ <span class='rubyid_@@connected ivar id'>@@connected</span> <span class='assign token'>=</span> <span class='rubyid_true true kw'>true</span>
625
+ <span class='rubyid_@@sess ivar id'>@@sess</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rubyid_m identifier id'>m</span><span class='lbrack token'>[</span><span class='integer val'>1</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='rubyid_m identifier id'>m</span><span class='lbrack token'>[</span><span class='integer val'>2</span><span class='rbrack token'>]</span><span class='rbrack token'>]</span>
626
+ <span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_log identifier id'>log</span> <span class='dstring node'>&quot;Received secret and session ID: #{@@sess.to_json}&quot;</span>
627
+ <span class='rubyid_@@queue ivar id'>@@queue</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='rubyid_fun identifier id'>fun</span><span class='bitor op'>|</span>
628
+ <span class='rubyid_fun identifier id'>fun</span><span class='dot token'>.</span><span class='rubyid_call identifier id'>call</span>
629
+ <span class='rbrace token'>}</span>
630
+ <span class='rubyid_@@queue ivar id'>@@queue</span> <span class='assign token'>=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
631
+ <span class='rubyid_return return kw'>return</span>
632
+ <span class='rubyid_end end kw'>end</span>
633
+ <span class='comment val'># Else, it is a normal message.</span>
634
+ <span class='rubyid_unser identifier id'>unser</span> <span class='assign token'>=</span> <span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_unserialize identifier id'>unserialize</span> <span class='rubyid_data identifier id'>data</span>
635
+ <span class='rubyid_dest identifier id'>dest</span> <span class='assign token'>=</span> <span class='rubyid_unser identifier id'>unser</span><span class='lbrack token'>[</span><span class='string val'>'destination'</span><span class='rbrack token'>]</span>
636
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_dest identifier id'>dest</span><span class='dot token'>.</span><span class='rubyid_respond_to? fid id'>respond_to?</span> <span class='colon op'>:</span><span class='rubyid_call identifier id'>call</span>
637
+ <span class='rubyid_dest identifier id'>dest</span><span class='dot token'>.</span><span class='rubyid_call identifier id'>call</span> <span class='mult op'>*</span><span class='rubyid_unser identifier id'>unser</span><span class='lbrack token'>[</span><span class='string val'>'args'</span><span class='rbrack token'>]</span>
638
+ <span class='rubyid_end end kw'>end</span>
639
+ <span class='rubyid_end end kw'>end</span>
640
+ </pre>
641
+ </td>
642
+ </tr>
643
+ </table>
644
+ </div>
645
+
646
+ <div class="method_details ">
647
+ <p class="signature " id="reconnect-class_method">
648
+
649
+ + (<tt>Object</tt>) <strong>reconnect</strong>(timeout)
650
+
651
+
652
+
653
+ </p><table class="source_code">
654
+ <tr>
655
+ <td>
656
+ <pre class="lines">
657
+
658
+
659
+ 91
660
+ 92
661
+ 93
662
+ 94
663
+ 95
664
+ 96
665
+ 97
666
+ 98
667
+ 99
668
+ 100
669
+ 101
670
+ 102</pre>
671
+ </td>
672
+ <td>
673
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 91</span>
674
+
675
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_reconnect identifier id'>reconnect</span> <span class='rubyid_timeout identifier id'>timeout</span>
676
+ <span class='rubyid_opts identifier id'>opts</span> <span class='assign token'>=</span> <span class='rubyid_Bridge constant id'>Bridge</span><span class='colon2 op'>::</span><span class='rubyid_options identifier id'>options</span>
677
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:reconnect</span><span class='rbrack token'>]</span>
678
+ <span class='rubyid_Util constant id'>Util</span><span class='colon2 op'>::</span><span class='rubyid_log identifier id'>log</span> <span class='dstring node'>&quot;Attempting to reconnect; waiting at most #{timeout.to_s}s.&quot;</span>
679
+ <span class='rubyid_EventMachine constant id'>EventMachine</span><span class='colon2 op'>::</span><span class='rubyid_connect identifier id'>connect</span><span class='lparen token'>(</span><span class='rubyid_opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:host</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='rubyid_opts identifier id'>opts</span><span class='lbrack token'>[</span><span class='symbol val'>:port</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='rubyid_Conn constant id'>Conn</span><span class='rparen token'>)</span>
680
+ <span class='rubyid_EventMachine constant id'>EventMachine</span><span class='colon2 op'>::</span><span class='rubyid_Timer constant id'>Timer</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_timeout identifier id'>timeout</span><span class='rparen token'>)</span> <span class='rubyid_do do kw'>do</span>
681
+ <span class='rubyid_if if kw'>if</span> <span class='rubyid_not not kw'>not</span> <span class='rubyid_@@connected ivar id'>@@connected</span>
682
+ <span class='rubyid_reconnect identifier id'>reconnect</span> <span class='rubyid_timeout identifier id'>timeout</span> <span class='mult op'>*</span> <span class='integer val'>2</span>
683
+ <span class='rubyid_end end kw'>end</span>
684
+ <span class='rubyid_end end kw'>end</span>
685
+ <span class='rubyid_end end kw'>end</span>
686
+ <span class='rubyid_end end kw'>end</span>
687
+ </pre>
688
+ </td>
689
+ </tr>
690
+ </table>
691
+ </div>
692
+
693
+ <div class="method_details ">
694
+ <p class="signature " id="session-class_method">
695
+
696
+ + (<tt>Object</tt>) <strong>session</strong>
697
+
698
+
699
+
700
+ </p><table class="source_code">
701
+ <tr>
702
+ <td>
703
+ <pre class="lines">
704
+
705
+
706
+ 9
707
+ 10
708
+ 11</pre>
709
+ </td>
710
+ <td>
711
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 9</span>
712
+
713
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_session identifier id'>session</span>
714
+ <span class='rubyid_@@sess ivar id'>@@sess</span>
715
+ <span class='rubyid_end end kw'>end</span>
716
+ </pre>
717
+ </td>
718
+ </tr>
719
+ </table>
720
+ </div>
721
+
722
+ <div class="method_details ">
723
+ <p class="signature " id="store-class_method">
724
+
725
+ + (<tt>Object</tt>) <strong>store</strong>(svc, obj = nil, named = true)
726
+
727
+
728
+
729
+ </p><table class="source_code">
730
+ <tr>
731
+ <td>
732
+ <pre class="lines">
733
+
734
+
735
+ 30
736
+ 31
737
+ 32</pre>
738
+ </td>
739
+ <td>
740
+ <pre class="code"><span class="info file"># File 'lib/bb/core.rb', line 30</span>
741
+
742
+ <span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_store identifier id'>store</span> <span class='rubyid_svc identifier id'>svc</span><span class='comma token'>,</span> <span class='rubyid_obj identifier id'>obj</span> <span class='assign token'>=</span> <span class='rubyid_nil nil kw'>nil</span><span class='comma token'>,</span> <span class='rubyid_named identifier id'>named</span> <span class='assign token'>=</span> <span class='rubyid_true true kw'>true</span>
743
+ <span class='rubyid_@@services ivar id'>@@services</span><span class='lbrack token'>[</span><span class='lbrack token'>[</span><span class='rubyid_named identifier id'>named</span> <span class='integer val'>? </span><span class='rubyid_svc identifier id'>svc</span> <span class='colon op'>:</span> <span class='dstring node'>&quot;channel:#{svc}&quot;</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='rubyid_to_json identifier id'>to_json</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='rubyid_obj identifier id'>obj</span>
744
+ <span class='rubyid_end end kw'>end</span>
745
+ </pre>
746
+ </td>
747
+ </tr>
748
+ </table>
749
+ </div>
750
+
751
+ </div>
752
+
753
+ </div>
754
+
755
+ <div id="footer">
756
+ Generated on Sun Mar 4 11:14:10 2012 by
757
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
758
+ 0.7.5 (ruby-1.8.7).
759
+ </div>
760
+
761
+ </body>
762
+ </html>