flotype-bridge 0.1.0.beta.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.
- data/README.md +6 -0
- data/Rakefile +24 -0
- data/doc/Bridge.html +954 -0
- data/doc/Bridge/Callback.html +495 -0
- data/doc/Bridge/CallbackRef.html +343 -0
- data/doc/Bridge/Conn.html +409 -0
- data/doc/Bridge/Core.html +762 -0
- data/doc/Bridge/LocalRef.html +509 -0
- data/doc/Bridge/Ref.html +647 -0
- data/doc/Bridge/Service.html +135 -0
- data/doc/Bridge/Sys.html +278 -0
- data/doc/Bridge/Util.html +746 -0
- data/doc/_index.html +202 -0
- data/doc/class_list.html +47 -0
- data/doc/classes/Bridge.html +263 -0
- data/doc/classes/Bridge.src/M000001.html +24 -0
- data/doc/classes/Bridge.src/M000002.html +18 -0
- data/doc/classes/Bridge.src/M000003.html +18 -0
- data/doc/classes/Bridge.src/M000004.html +20 -0
- data/doc/classes/Bridge.src/M000005.html +26 -0
- data/doc/classes/Bridge.src/M000006.html +22 -0
- data/doc/classes/Bridge.src/M000007.html +18 -0
- data/doc/classes/Bridge.src/M000008.html +18 -0
- data/doc/created.rid +1 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +55 -0
- data/doc/css/style.css +322 -0
- data/doc/file.README.html +71 -0
- data/doc/file_list.html +49 -0
- data/doc/files/lib/bridge_rb.html +108 -0
- data/doc/fr_class_index.html +27 -0
- data/doc/fr_file_index.html +27 -0
- data/doc/fr_method_index.html +34 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +71 -0
- data/doc/js/app.js +205 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +16 -0
- data/doc/method_list.html +510 -0
- data/doc/rdoc-style.css +208 -0
- data/doc/top-level-namespace.html +105 -0
- data/examples/chat/chat_client.rb +41 -0
- data/examples/chat/chat_server.rb +24 -0
- data/examples/pong/pong.rb +29 -0
- data/flotype-bridge.gemspec +24 -0
- data/lib/bb/callback.rb +33 -0
- data/lib/bb/conn.rb +31 -0
- data/lib/bb/core.rb +109 -0
- data/lib/bb/localref.rb +37 -0
- data/lib/bb/ref.rb +49 -0
- data/lib/bb/svc.rb +7 -0
- data/lib/bb/sys.rb +17 -0
- data/lib/bb/util.rb +93 -0
- data/lib/bb/version.rb +3 -0
- data/lib/bridge.rb +130 -0
- data/rakelib/package.rake +4 -0
- data/rakelib/test.rake +8 -0
- data/tests/bb_test_helper.rb +3 -0
- data/tests/test_serialize.rb +4 -0
- 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
|
+
— 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> »
|
37
|
+
<span class='title'><span class='object_link'><a href="../Bridge.html" title="Bridge (module)">Bridge</a></span></span>
|
38
|
+
»
|
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'>></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'>></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'>></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'>></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'><<</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'><</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'>"Received secret and session ID: #{@@sess.to_json}"</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'>"Attempting to reconnect; waiting at most #{timeout.to_s}s."</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'>"channel:#{svc}"</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>
|