rumai 3.2.2 → 3.2.3

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 (91) hide show
  1. data/CREDITS +27 -5
  2. data/bin/rumai +12 -37
  3. data/lib/rumai/inochi.rb +8 -17
  4. data/lib/rumai/irb.rb +21 -0
  5. data/man.html +914 -0
  6. data/man/man1/rumai.1.gz +0 -0
  7. metadata +19 -94
  8. data/HISTORY +0 -350
  9. data/INSTALL +0 -33
  10. data/MANUAL +0 -26
  11. data/README +0 -92
  12. data/USAGE +0 -297
  13. data/doc/ann.xml +0 -61
  14. data/doc/api/IO.html +0 -119
  15. data/doc/api/Integer.html +0 -171
  16. data/doc/api/Rumai.html +0 -1540
  17. data/doc/api/Rumai/Area.html +0 -1485
  18. data/doc/api/Rumai/Chain.html +0 -301
  19. data/doc/api/Rumai/Client.html +0 -2451
  20. data/doc/api/Rumai/ClientContainer.html +0 -301
  21. data/doc/api/Rumai/ExportInstanceMethods.html +0 -103
  22. data/doc/api/Rumai/IXP.html +0 -94
  23. data/doc/api/Rumai/IXP/Agent.html +0 -1625
  24. data/doc/api/Rumai/IXP/Agent/FidStream.html +0 -959
  25. data/doc/api/Rumai/IXP/Agent/RangedPool.html +0 -381
  26. data/doc/api/Rumai/IXP/Error.html +0 -110
  27. data/doc/api/Rumai/IXP/Fcall.html +0 -503
  28. data/doc/api/Rumai/IXP/Qid.html +0 -207
  29. data/doc/api/Rumai/IXP/Rattach.html +0 -148
  30. data/doc/api/Rumai/IXP/Rauth.html +0 -148
  31. data/doc/api/Rumai/IXP/Rclunk.html +0 -148
  32. data/doc/api/Rumai/IXP/Rcreate.html +0 -148
  33. data/doc/api/Rumai/IXP/Rerror.html +0 -148
  34. data/doc/api/Rumai/IXP/Rflush.html +0 -148
  35. data/doc/api/Rumai/IXP/Ropen.html +0 -148
  36. data/doc/api/Rumai/IXP/Rread.html +0 -148
  37. data/doc/api/Rumai/IXP/Rremove.html +0 -148
  38. data/doc/api/Rumai/IXP/Rstat.html +0 -148
  39. data/doc/api/Rumai/IXP/Rversion.html +0 -148
  40. data/doc/api/Rumai/IXP/Rwalk.html +0 -148
  41. data/doc/api/Rumai/IXP/Rwrite.html +0 -148
  42. data/doc/api/Rumai/IXP/Rwstat.html +0 -148
  43. data/doc/api/Rumai/IXP/Stat.html +0 -335
  44. data/doc/api/Rumai/IXP/Stream.html +0 -194
  45. data/doc/api/Rumai/IXP/Struct.html +0 -586
  46. data/doc/api/Rumai/IXP/Struct/ClassField.html +0 -242
  47. data/doc/api/Rumai/IXP/Struct/Field.html +0 -782
  48. data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +0 -227
  49. data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +0 -153
  50. data/doc/api/Rumai/IXP/Struct/Integer8Field.html +0 -242
  51. data/doc/api/Rumai/IXP/Struct/StringField.html +0 -206
  52. data/doc/api/Rumai/IXP/Tattach.html +0 -148
  53. data/doc/api/Rumai/IXP/Tauth.html +0 -148
  54. data/doc/api/Rumai/IXP/Tclunk.html +0 -148
  55. data/doc/api/Rumai/IXP/Tcreate.html +0 -148
  56. data/doc/api/Rumai/IXP/Terror.html +0 -231
  57. data/doc/api/Rumai/IXP/Tflush.html +0 -148
  58. data/doc/api/Rumai/IXP/Topen.html +0 -240
  59. data/doc/api/Rumai/IXP/Tread.html +0 -148
  60. data/doc/api/Rumai/IXP/Tremove.html +0 -148
  61. data/doc/api/Rumai/IXP/Tstat.html +0 -148
  62. data/doc/api/Rumai/IXP/Tversion.html +0 -162
  63. data/doc/api/Rumai/IXP/Twalk.html +0 -148
  64. data/doc/api/Rumai/IXP/Twrite.html +0 -148
  65. data/doc/api/Rumai/IXP/Twstat.html +0 -148
  66. data/doc/api/Rumai/Node.html +0 -1406
  67. data/doc/api/Rumai/View.html +0 -1587
  68. data/doc/api/Rumai/WidgetImpl.html +0 -333
  69. data/doc/api/Rumai/WidgetNode.html +0 -246
  70. data/doc/api/String.html +0 -258
  71. data/doc/api/StringIO.html +0 -119
  72. data/doc/api/Time.html +0 -247
  73. data/doc/api/_index.html +0 -581
  74. data/doc/api/class_list.html +0 -36
  75. data/doc/api/css/common.css +0 -1
  76. data/doc/api/css/full_list.css +0 -50
  77. data/doc/api/css/style.css +0 -273
  78. data/doc/api/file.LICENSE.html +0 -73
  79. data/doc/api/file_list.html +0 -38
  80. data/doc/api/frames.html +0 -13
  81. data/doc/api/index.html +0 -73
  82. data/doc/api/js/app.js +0 -111
  83. data/doc/api/js/full_list.js +0 -117
  84. data/doc/api/js/jquery.js +0 -19
  85. data/doc/api/method_list.html +0 -1491
  86. data/doc/api/top-level-namespace.html +0 -89
  87. data/doc/index.html +0 -2655
  88. data/inochi.opts +0 -31
  89. data/test/rumai/ixp/message_test.rb +0 -245
  90. data/test/runner +0 -25
  91. data/test/test_helper.rb +0 -1
@@ -1,1625 +0,0 @@
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 name="Content-Type" content="text/html; charset=utf-8" />
6
- <title>Class: Rumai::IXP::Agent</title>
7
- <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
- <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
-
10
- <script type="text/javascript" charset="utf-8">
11
- relpath = '../..';
12
- if (relpath != '') relpath += '/';
13
- </script>
14
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
15
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
16
-
17
- </head>
18
- <body>
19
- <script type="text/javascript" charset="utf-8">
20
- if (window.top.frames.main) document.body.className = 'frames';
21
- </script>
22
-
23
- <div id="header">
24
- <div id="menu">
25
-
26
- <a href="../../_index.html">Index (A)</a> &raquo;
27
- <span class='title'><a href="../../Rumai.html" title="Rumai (module)">Rumai</a></span> &raquo; <span class='title'><a href="../IXP.html" title="Rumai::IXP (module)">IXP</a></span>
28
- &raquo;
29
- <span class="title">Agent</span>
30
-
31
-
32
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
- </div>
34
-
35
- <div id="search">
36
- <a id="class_list_link" href="#">Class List</a>
37
- <a id="method_list_link" href="#">Method List</a>
38
- <a id ="file_list_link" href="#">File List</a>
39
- </div>
40
-
41
- <div class="clear"></div>
42
- </div>
43
-
44
- <iframe id="search_frame"></iframe>
45
-
46
- <div id="content"><h1>Class: Rumai::IXP::Agent
47
-
48
-
49
- </h1>
50
-
51
- <dl class="box">
52
-
53
- <dt class="r1">Inherits:</dt>
54
- <dd class="r1">
55
- <span class="inheritName"><a href="../../Object.html" title="Object (class)">Object</a></span>
56
-
57
- <ul class="fullTree">
58
- <li><a href="../../Object.html" title="Object (class)">Object</a></li>
59
-
60
- <li class="next">Rumai::IXP::Agent</li>
61
-
62
- </ul>
63
- <a href="#" class="inheritanceTree">show all</a>
64
-
65
- </dd>
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
- <dt class="r2 last">Defined in:</dt>
76
- <dd class="r2 last">lib/rumai/ixp/transport.rb</dd>
77
-
78
- </dl>
79
- <div class="clear"></div>
80
-
81
- <h2>Overview</h2><div class="docstring">
82
- <div class="discussion">
83
- <p>
84
- A thread-safe channel that multiplexes many threads onto a single 9P2000
85
- connection.
86
- </p>
87
- <p>
88
- The send/recv implementation is based on the XCB cookie approach: <a
89
- href="http://www.x.org/releases/X11R7.5/doc/libxcb/tutorial/#requestsreplies">www.x.org/releases/X11R7.5/doc/libxcb/tutorial/#requestsreplies</a>
90
- </p>
91
-
92
-
93
- </div>
94
- </div>
95
- <div class="tags">
96
-
97
- </div><h2>Defined Under Namespace</h2>
98
- <p class="children">
99
-
100
-
101
-
102
-
103
- <strong class="classes">Classes:</strong> <a href="Agent/FidStream.html" title="Rumai::IXP::Agent::FidStream (class)">FidStream</a>, <a href="Agent/RangedPool.html" title="Rumai::IXP::Agent::RangedPool (class)">RangedPool</a>
104
-
105
-
106
- </p>
107
-
108
- <h2>Constant Summary</h2>
109
-
110
- <dl class="constants">
111
-
112
- <dt id="MODES-constant" class="">MODES =
113
-
114
- </dt>
115
- <dd><pre class="code"><span class='lbrace'>{</span>
116
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='const'>Topen</span><span class='op'>::</span><span class='const'>OREAD</span><span class='comma'>,</span>
117
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>w</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='const'>Topen</span><span class='op'>::</span><span class='const'>OWRITE</span><span class='comma'>,</span>
118
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>t</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='const'>Topen</span><span class='op'>::</span><span class='const'>ORCLOSE</span><span class='comma'>,</span>
119
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>+</span><span class='tstring_end'>'</span></span> <span class='op'>=&gt;</span> <span class='const'>Topen</span><span class='op'>::</span><span class='const'>ORDWR</span><span class='comma'>,</span>
120
- <span class='rbrace'>}</span></pre></dd>
121
-
122
- </dl>
123
-
124
-
125
-
126
- <h2>Instance Attribute Summary</h2>
127
- <ul class="summary">
128
-
129
- <li class="public ">
130
- <span class="summary_signature">
131
-
132
- <a href="#msize-instance_method" title="#msize (instance method)">- (Object) <strong>msize</strong> </a>
133
-
134
-
135
-
136
- </span>
137
-
138
-
139
- <span class="note title readonly">readonly</span>
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
- <span class="summary_desc"><div class='inline'><p>
148
- Returns the value of attribute msize.
149
- </p>
150
- </div></span>
151
-
152
- </li>
153
-
154
-
155
- </ul>
156
-
157
-
158
-
159
- <h2>Instance Method Summary</h2>
160
-
161
- <ul class="summary">
162
-
163
- <li class="public ">
164
- <span class="summary_signature">
165
-
166
- <a href="#attach-instance_method" title="#attach (instance method)">- (Object) <strong>attach</strong>(root_fid, auth_fid = Fcall::NOFID, auth_name = ENV['USER']) </a>
167
-
168
-
169
-
170
- </span>
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
- <span class="summary_desc"><div class='inline'><p>
179
- Associates the given FID with the FS root.
180
- </p>
181
- </div></span>
182
-
183
- </li>
184
-
185
-
186
- <li class="public ">
187
- <span class="summary_signature">
188
-
189
- <a href="#clunk-instance_method" title="#clunk (instance method)">- (Object) <strong>clunk</strong>(fid) </a>
190
-
191
-
192
-
193
- </span>
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
- <span class="summary_desc"><div class='inline'><p>
202
- Retires the given FID from use.
203
- </p>
204
- </div></span>
205
-
206
- </li>
207
-
208
-
209
- <li class="public ">
210
- <span class="summary_signature">
211
-
212
- <a href="#create-instance_method" title="#create (instance method)">- (Object) <strong>create</strong>(path, mode = 'rw', perm = 0644) </a>
213
-
214
-
215
-
216
- </span>
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
- <span class="summary_desc"><div class='inline'><p>
225
- Creates a new file at the given path that is accessible using the given
226
- modes for a user having the given permission bits.
227
- </p>
228
- </div></span>
229
-
230
- </li>
231
-
232
-
233
- <li class="public ">
234
- <span class="summary_signature">
235
-
236
- <a href="#entries-instance_method" title="#entries (instance method)">- (Object) <strong>entries</strong>(path) </a>
237
-
238
-
239
-
240
- </span>
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
- <span class="summary_desc"><div class='inline'><p>
249
- Returns the basenames of all files inside the directory at the given path.
250
- </p>
251
- </div></span>
252
-
253
- </li>
254
-
255
-
256
- <li class="public ">
257
- <span class="summary_signature">
258
-
259
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Agent) <strong>initialize</strong>(stream) </a>
260
-
261
-
262
-
263
- </span>
264
-
265
- <span class="note title constructor">constructor</span>
266
-
267
-
268
-
269
-
270
-
271
-
272
-
273
- <span class="summary_desc"><div class='inline'><p>
274
- A new instance of Agent.
275
- </p>
276
- </div></span>
277
-
278
- </li>
279
-
280
-
281
- <li class="public ">
282
- <span class="summary_signature">
283
-
284
- <a href="#open-instance_method" title="#open (instance method)">- (Object) <strong>open</strong>(path, mode = 'r') </a>
285
-
286
-
287
-
288
- </span>
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
- <span class="summary_desc"><div class='inline'><p>
297
- Opens the given path for I/O access through a <tt><a href="Agent/FidStream.html" title="Rumai::IXP::Agent::FidStream (class)">FidStream</a></tt> object.
298
- </p>
299
- </div></span>
300
-
301
- </li>
302
-
303
-
304
- <li class="public ">
305
- <span class="summary_signature">
306
-
307
- <a href="#read-instance_method" title="#read (instance method)">- (Object) <strong>read</strong>(path, *args) </a>
308
-
309
-
310
-
311
- </span>
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
- <span class="summary_desc"><div class='inline'><p>
320
- Returns the content of the file/directory at the given path.
321
- </p>
322
- </div></span>
323
-
324
- </li>
325
-
326
-
327
- <li class="public ">
328
- <span class="summary_signature">
329
-
330
- <a href="#recv-instance_method" title="#recv (instance method)">- (Object) <strong>recv</strong>(tag) </a>
331
-
332
-
333
-
334
- </span>
335
-
336
-
337
-
338
-
339
-
340
-
341
-
342
- <span class="summary_desc"><div class='inline'><p>
343
- Returns the reply for the given ticket, which was previously given to you
344
- when you sent the corresponding request <tt><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Rumai::IXP::Fcall</a></tt>.
345
- </p>
346
- </div></span>
347
-
348
- </li>
349
-
350
-
351
- <li class="public ">
352
- <span class="summary_signature">
353
-
354
- <a href="#remove-instance_method" title="#remove (instance method)">- (Object) <strong>remove</strong>(path) </a>
355
-
356
-
357
-
358
- </span>
359
-
360
-
361
-
362
-
363
-
364
-
365
-
366
- <span class="summary_desc"><div class='inline'><p>
367
- Deletes the file at the given path.
368
- </p>
369
- </div></span>
370
-
371
- </li>
372
-
373
-
374
- <li class="public ">
375
- <span class="summary_signature">
376
-
377
- <a href="#remove_fid-instance_method" title="#remove_fid (instance method)">- (Object) <strong>remove_fid</strong>(path_fid) </a>
378
-
379
-
380
-
381
- </span>
382
-
383
-
384
-
385
-
386
-
387
-
388
-
389
- <span class="summary_desc"><div class='inline'><p>
390
- Deletes the file corresponding to the given FID and clunks the given FID.
391
- </p>
392
- </div></span>
393
-
394
- </li>
395
-
396
-
397
- <li class="public ">
398
- <span class="summary_signature">
399
-
400
- <a href="#send-instance_method" title="#send (instance method)">- (Object) <strong>send</strong>(request) </a>
401
-
402
-
403
-
404
- </span>
405
-
406
-
407
-
408
-
409
-
410
-
411
-
412
- <span class="summary_desc"><div class='inline'><p>
413
- Sends the given request <tt><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Rumai::IXP::Fcall</a></tt> and returns a ticket that you
414
- can use later to receive the reply.
415
- </p>
416
- </div></span>
417
-
418
- </li>
419
-
420
-
421
- <li class="public ">
422
- <span class="summary_signature">
423
-
424
- <a href="#stat-instance_method" title="#stat (instance method)">- (Object) <strong>stat</strong>(path) </a>
425
-
426
-
427
-
428
- </span>
429
-
430
-
431
-
432
-
433
-
434
-
435
-
436
- <span class="summary_desc"><div class='inline'><p>
437
- Returns information about the file at the given path.
438
- </p>
439
- </div></span>
440
-
441
- </li>
442
-
443
-
444
- <li class="public ">
445
- <span class="summary_signature">
446
-
447
- <a href="#stat_fid-instance_method" title="#stat_fid (instance method)">- (Object) <strong>stat_fid</strong>(path_fid) </a>
448
-
449
-
450
-
451
- </span>
452
-
453
-
454
-
455
-
456
-
457
-
458
-
459
- <span class="summary_desc"><div class='inline'><p>
460
- Returns information about the file referenced by the given FID.
461
- </p>
462
- </div></span>
463
-
464
- </li>
465
-
466
-
467
- <li class="public ">
468
- <span class="summary_signature">
469
-
470
- <a href="#talk-instance_method" title="#talk (instance method)">- (Object) <strong>talk</strong>(request) </a>
471
-
472
-
473
-
474
- </span>
475
-
476
-
477
-
478
-
479
-
480
-
481
-
482
- <span class="summary_desc"><div class='inline'><p>
483
- Sends the given request <tt><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Rumai::IXP::Fcall</a></tt> and returns its reply.
484
- </p>
485
- </div></span>
486
-
487
- </li>
488
-
489
-
490
- <li class="public ">
491
- <span class="summary_signature">
492
-
493
- <a href="#walk-instance_method" title="#walk (instance method)">- (Object) <strong>walk</strong>(path) </a>
494
-
495
-
496
-
497
- </span>
498
-
499
-
500
-
501
-
502
-
503
-
504
-
505
- <span class="summary_desc"><div class='inline'><p>
506
- Returns an FID corresponding to the given path.
507
- </p>
508
- </div></span>
509
-
510
- </li>
511
-
512
-
513
- <li class="public ">
514
- <span class="summary_signature">
515
-
516
- <a href="#walk_fid-instance_method" title="#walk_fid (instance method)">- (Object) <strong>walk_fid</strong>(path_fid, path) </a>
517
-
518
-
519
-
520
- </span>
521
-
522
-
523
-
524
-
525
-
526
-
527
-
528
- <span class="summary_desc"><div class='inline'><p>
529
- Associates the given FID to the given path.
530
- </p>
531
- </div></span>
532
-
533
- </li>
534
-
535
-
536
- <li class="public ">
537
- <span class="summary_signature">
538
-
539
- <a href="#write-instance_method" title="#write (instance method)">- (Object) <strong>write</strong>(path, content) </a>
540
-
541
-
542
-
543
- </span>
544
-
545
-
546
-
547
-
548
-
549
-
550
-
551
- <span class="summary_desc"><div class='inline'><p>
552
- Writes the given content to the file at the given path.
553
- </p>
554
- </div></span>
555
-
556
- </li>
557
-
558
-
559
- </ul>
560
-
561
-
562
- <div id="constructor_details" class="method_details_list">
563
- <h2>Constructor Details</h2>
564
-
565
- <div class="method_details first">
566
- <p class="signature first" id="initialize-instance_method">
567
-
568
- - (<tt><a href="" title="Rumai::IXP::Agent (class)">Agent</a></tt>) <strong>initialize</strong>(stream)
569
-
570
-
571
-
572
- </p><div class="docstring">
573
- <div class="discussion">
574
- <p>
575
- A new instance of Agent
576
- </p>
577
-
578
-
579
- </div>
580
- </div>
581
- <div class="tags">
582
- <h3>Parameters:</h3>
583
- <ul class="param">
584
-
585
- <li>
586
-
587
- <span class='type'></span>
588
-
589
-
590
- <span class='name'>stream</span>
591
-
592
-
593
-
594
- &mdash;
595
- <div class='inline'><p>
596
- I/O stream on which a 9P2000 server is listening.
597
- </p>
598
- </div>
599
-
600
- </li>
601
-
602
- </ul>
603
-
604
- </div><table class="source_code">
605
- <tr>
606
- <td>
607
- <pre class="lines">
608
-
609
-
610
- 22
611
- 23
612
- 24
613
- 25
614
- 26
615
- 27
616
- 28
617
- 29
618
- 30
619
- 31
620
- 32
621
- 33
622
- 34
623
- 35
624
- 36
625
- 37
626
- 38
627
- 39
628
- 40
629
- 41
630
- 42
631
- 43
632
- 44
633
- 45
634
- 46
635
- 47
636
- 48
637
- 49
638
- 50
639
- 51</pre>
640
- </td>
641
- <td>
642
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 22</span>
643
-
644
- <span class='kw'>def</span> <span class='id initialize'>initialize</span> <span class='id stream'>stream</span>
645
- <span class='ivar'>@stream</span> <span class='op'>=</span> <span class='id stream'>stream</span>
646
-
647
- <span class='ivar'>@recv_buf</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='comment'># tag =&gt; message
648
- </span> <span class='ivar'>@recv_lock</span> <span class='op'>=</span> <span class='const'>Mutex</span><span class='period'>.</span><span class='id new'>new</span>
649
-
650
- <span class='ivar'>@tag_pool</span> <span class='op'>=</span> <span class='const'>RangedPool</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='int'>0</span><span class='op'>...</span><span class='const'>BYTE2_MASK</span><span class='rparen'>)</span>
651
- <span class='ivar'>@fid_pool</span> <span class='op'>=</span> <span class='const'>RangedPool</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='int'>0</span><span class='op'>...</span><span class='const'>BYTE4_MASK</span><span class='rparen'>)</span>
652
-
653
- <span class='comment'># establish connection with 9P2000 server
654
- </span> <span class='id req'>req</span> <span class='op'>=</span> <span class='const'>Tversion</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span>
655
- <span class='symbol'>:tag</span> <span class='op'>=&gt;</span> <span class='const'>Fcall</span><span class='op'>::</span><span class='const'>NOTAG</span><span class='comma'>,</span>
656
- <span class='symbol'>:msize</span> <span class='op'>=&gt;</span> <span class='const'>Tversion</span><span class='op'>::</span><span class='const'>MSIZE</span><span class='comma'>,</span>
657
- <span class='symbol'>:version</span> <span class='op'>=&gt;</span> <span class='const'>Tversion</span><span class='op'>::</span><span class='const'>VERSION</span>
658
- <span class='rparen'>)</span>
659
- <span class='id rsp'>rsp</span> <span class='op'>=</span> <span class='id talk'>talk</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
660
-
661
- <span class='kw'>unless</span> <span class='id req'>req</span><span class='period'>.</span><span class='id version'>version</span> <span class='op'>==</span> <span class='id rsp'>rsp</span><span class='period'>.</span><span class='id version'>version</span>
662
- <span class='id raise'>raise</span> <span class='const'>Error</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>protocol mismatch: self=</span><span class='embexpr_beg'>#{</span><span class='id req'>req</span><span class='period'>.</span><span class='id version'>version</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'> server=</span><span class='embexpr_beg'>#{</span><span class='id rsp'>rsp</span><span class='period'>.</span><span class='id version'>version</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
663
- <span class='kw'>end</span>
664
-
665
- <span class='ivar'>@msize</span> <span class='op'>=</span> <span class='id rsp'>rsp</span><span class='period'>.</span><span class='id msize'>msize</span>
666
-
667
- <span class='comment'># authenticate the connection (not necessary for wmii)
668
- </span> <span class='ivar'>@auth_fid</span> <span class='op'>=</span> <span class='const'>Fcall</span><span class='op'>::</span><span class='const'>NOFID</span>
669
-
670
- <span class='comment'># attach to filesystem root
671
- </span> <span class='ivar'>@root_fid</span> <span class='op'>=</span> <span class='ivar'>@fid_pool</span><span class='period'>.</span><span class='id obtain'>obtain</span>
672
- <span class='id attach'>attach</span> <span class='ivar'>@root_fid</span><span class='comma'>,</span> <span class='ivar'>@auth_fid</span>
673
- <span class='kw'>end</span></pre>
674
- </td>
675
- </tr>
676
- </table>
677
- </div>
678
-
679
- </div>
680
-
681
- <div id="instance_attr_details" class="attr_details">
682
- <h2>Instance Attribute Details</h2>
683
-
684
-
685
- <span id=""></span>
686
- <span id="msize-instance_method"></span>
687
- <div class="method_details first">
688
- <p class="signature first" id="msize-instance_method">
689
-
690
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>msize</strong> <span class="extras">(readonly)</span>
691
-
692
-
693
-
694
- </p><div class="docstring">
695
- <div class="discussion">
696
- <p>
697
- Returns the value of attribute msize
698
- </p>
699
-
700
-
701
- </div>
702
- </div>
703
- <div class="tags">
704
-
705
- </div><table class="source_code">
706
- <tr>
707
- <td>
708
- <pre class="lines">
709
-
710
-
711
- 16
712
- 17
713
- 18</pre>
714
- </td>
715
- <td>
716
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 16</span>
717
-
718
- <span class='kw'>def</span> <span class='id msize'>msize</span>
719
- <span class='ivar'>@msize</span>
720
- <span class='kw'>end</span></pre>
721
- </td>
722
- </tr>
723
- </table>
724
- </div>
725
-
726
- </div>
727
-
728
-
729
- <div id="instance_method_details" class="method_details_list">
730
- <h2>Instance Method Details</h2>
731
-
732
-
733
- <div class="method_details first">
734
- <p class="signature first" id="attach-instance_method">
735
-
736
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>attach</strong>(root_fid, auth_fid = Fcall::NOFID, auth_name = ENV['USER'])
737
-
738
-
739
-
740
- </p><div class="docstring">
741
- <div class="discussion">
742
- <p>
743
- Associates the given FID with the FS root.
744
- </p>
745
-
746
-
747
- </div>
748
- </div>
749
- <div class="tags">
750
-
751
- </div><table class="source_code">
752
- <tr>
753
- <td>
754
- <pre class="lines">
755
-
756
-
757
- 468
758
- 469
759
- 470
760
- 471
761
- 472
762
- 473
763
- 474
764
- 475</pre>
765
- </td>
766
- <td>
767
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 468</span>
768
-
769
- <span class='kw'>def</span> <span class='id attach'>attach</span> <span class='id root_fid'>root_fid</span><span class='comma'>,</span> <span class='id auth_fid'>auth_fid</span> <span class='op'>=</span> <span class='const'>Fcall</span><span class='op'>::</span><span class='const'>NOFID</span><span class='comma'>,</span> <span class='id auth_name'>auth_name</span> <span class='op'>=</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>USER</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
770
- <span class='id talk'>talk</span> <span class='const'>Tattach</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span>
771
- <span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='id root_fid'>root_fid</span><span class='comma'>,</span>
772
- <span class='symbol'>:afid</span> <span class='op'>=&gt;</span> <span class='id auth_fid'>auth_fid</span><span class='comma'>,</span>
773
- <span class='symbol'>:uname</span> <span class='op'>=&gt;</span> <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>USER</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
774
- <span class='symbol'>:aname</span> <span class='op'>=&gt;</span> <span class='id auth_name'>auth_name</span>
775
- <span class='rparen'>)</span>
776
- <span class='kw'>end</span></pre>
777
- </td>
778
- </tr>
779
- </table>
780
- </div>
781
-
782
- <div class="method_details ">
783
- <p class="signature " id="clunk-instance_method">
784
-
785
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>clunk</strong>(fid)
786
-
787
-
788
-
789
- </p><div class="docstring">
790
- <div class="discussion">
791
- <p>
792
- Retires the given FID from use.
793
- </p>
794
-
795
-
796
- </div>
797
- </div>
798
- <div class="tags">
799
-
800
- </div><table class="source_code">
801
- <tr>
802
- <td>
803
- <pre class="lines">
804
-
805
-
806
- 480
807
- 481
808
- 482
809
- 483</pre>
810
- </td>
811
- <td>
812
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 480</span>
813
-
814
- <span class='kw'>def</span> <span class='id clunk'>clunk</span> <span class='id fid'>fid</span>
815
- <span class='id talk'>talk</span> <span class='const'>Tclunk</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='id fid'>fid</span><span class='rparen'>)</span>
816
- <span class='ivar'>@fid_pool</span><span class='period'>.</span><span class='id release'>release</span> <span class='id fid'>fid</span>
817
- <span class='kw'>end</span></pre>
818
- </td>
819
- </tr>
820
- </table>
821
- </div>
822
-
823
- <div class="method_details ">
824
- <p class="signature " id="create-instance_method">
825
-
826
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>create</strong>(path, mode = 'rw', perm = 0644)
827
-
828
-
829
-
830
- </p><div class="docstring">
831
- <div class="discussion">
832
- <p>
833
- Creates a new file at the given path that is accessible using the given
834
- modes for a user having the given permission bits.
835
- </p>
836
-
837
-
838
- </div>
839
- </div>
840
- <div class="tags">
841
-
842
- </div><table class="source_code">
843
- <tr>
844
- <td>
845
- <pre class="lines">
846
-
847
-
848
- 391
849
- 392
850
- 393
851
- 394
852
- 395
853
- 396
854
- 397
855
- 398
856
- 399
857
- 400
858
- 401
859
- 402
860
- 403
861
- 404
862
- 405
863
- 406
864
- 407
865
- 408</pre>
866
- </td>
867
- <td>
868
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 391</span>
869
-
870
- <span class='kw'>def</span> <span class='id create'>create</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='id mode'>mode</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rw</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id perm'>perm</span> <span class='op'>=</span> <span class='int'>0644</span>
871
- <span class='id prefix'>prefix</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
872
- <span class='id target'>target</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id basename'>basename</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
873
-
874
- <span class='id mode'>mode</span> <span class='op'>=</span> <span class='const'>MODES</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id mode'>mode</span><span class='rparen'>)</span>
875
-
876
- <span class='id with_fid'>with_fid</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id prefix_fid'>prefix_fid</span><span class='op'>|</span>
877
- <span class='id walk_fid'>walk_fid</span> <span class='id prefix_fid'>prefix_fid</span><span class='comma'>,</span> <span class='id prefix'>prefix</span>
878
-
879
- <span class='comment'># create the file
880
- </span> <span class='id talk'>talk</span> <span class='const'>Tcreate</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span>
881
- <span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='id prefix_fid'>prefix_fid</span><span class='comma'>,</span>
882
- <span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='id target'>target</span><span class='comma'>,</span>
883
- <span class='symbol'>:perm</span> <span class='op'>=&gt;</span> <span class='id perm'>perm</span><span class='comma'>,</span>
884
- <span class='symbol'>:mode</span> <span class='op'>=&gt;</span> <span class='id mode'>mode</span>
885
- <span class='rparen'>)</span>
886
- <span class='kw'>end</span>
887
- <span class='kw'>end</span></pre>
888
- </td>
889
- </tr>
890
- </table>
891
- </div>
892
-
893
- <div class="method_details ">
894
- <p class="signature " id="entries-instance_method">
895
-
896
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>entries</strong>(path)
897
-
898
-
899
-
900
- </p><div class="docstring">
901
- <div class="discussion">
902
- <p>
903
- Returns the basenames of all files inside the directory at the given path.
904
- </p>
905
-
906
-
907
- </div>
908
- </div>
909
- <div class="tags">
910
-
911
- <h3>See Also:</h3>
912
- <ul class="see">
913
-
914
- <li>Dir::entries</li>
915
-
916
- </ul>
917
-
918
- </div><table class="source_code">
919
- <tr>
920
- <td>
921
- <pre class="lines">
922
-
923
-
924
- 369
925
- 370
926
- 371
927
- 372
928
- 373
929
- 374
930
- 375</pre>
931
- </td>
932
- <td>
933
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 369</span>
934
-
935
- <span class='kw'>def</span> <span class='id entries'>entries</span> <span class='id path'>path</span>
936
- <span class='kw'>unless</span> <span class='id stat'>stat</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id directory?'>directory?</span>
937
- <span class='id raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'> is not a directory</span><span class='tstring_end'>&quot;</span></span>
938
- <span class='kw'>end</span>
939
-
940
- <span class='id read'>read</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id map!'>map!</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id t'>t</span><span class='op'>|</span> <span class='id t'>t</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span>
941
- <span class='kw'>end</span></pre>
942
- </td>
943
- </tr>
944
- </table>
945
- </div>
946
-
947
- <div class="method_details ">
948
- <p class="signature " id="open-instance_method">
949
-
950
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>open</strong>(path, mode = 'r')
951
-
952
-
953
-
954
- </p><div class="docstring">
955
- <div class="discussion">
956
- <p>
957
- Opens the given path for I/O access through a <tt><a href="Agent/FidStream.html" title="Rumai::IXP::Agent::FidStream (class)">FidStream</a></tt> object. If a
958
- block is given, it is invoked with a <tt><a href="Agent/FidStream.html" title="Rumai::IXP::Agent::FidStream (class)">FidStream</a></tt> object and the stream is
959
- closed afterwards.
960
- </p>
961
-
962
-
963
- </div>
964
- </div>
965
- <div class="tags">
966
-
967
- <h3>See Also:</h3>
968
- <ul class="see">
969
-
970
- <li>File::open</li>
971
-
972
- </ul>
973
-
974
- </div><table class="source_code">
975
- <tr>
976
- <td>
977
- <pre class="lines">
978
-
979
-
980
- 208
981
- 209
982
- 210
983
- 211
984
- 212
985
- 213
986
- 214
987
- 215
988
- 216
989
- 217
990
- 218
991
- 219
992
- 220
993
- 221
994
- 222
995
- 223
996
- 224
997
- 225
998
- 226
999
- 227
1000
- 228
1001
- 229
1002
- 230
1003
- 231</pre>
1004
- </td>
1005
- <td>
1006
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 208</span>
1007
-
1008
- <span class='kw'>def</span> <span class='id open'>open</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='id mode'>mode</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>r</span><span class='tstring_end'>'</span></span>
1009
- <span class='id mode'>mode</span> <span class='op'>=</span> <span class='const'>MODES</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id mode'>mode</span><span class='rparen'>)</span>
1010
-
1011
- <span class='comment'># open the file
1012
- </span> <span class='id path_fid'>path_fid</span> <span class='op'>=</span> <span class='id walk'>walk</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
1013
-
1014
- <span class='id talk'>talk</span> <span class='const'>Topen</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span>
1015
- <span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='id path_fid'>path_fid</span><span class='comma'>,</span>
1016
- <span class='symbol'>:mode</span> <span class='op'>=&gt;</span> <span class='id mode'>mode</span>
1017
- <span class='rparen'>)</span>
1018
-
1019
- <span class='id stream'>stream</span> <span class='op'>=</span> <span class='const'>FidStream</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id path_fid'>path_fid</span><span class='comma'>,</span> <span class='ivar'>@msize</span><span class='rparen'>)</span>
1020
-
1021
- <span class='comment'># return the file stream
1022
- </span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
1023
- <span class='kw'>begin</span>
1024
- <span class='kw'>yield</span> <span class='id stream'>stream</span>
1025
- <span class='kw'>ensure</span>
1026
- <span class='id stream'>stream</span><span class='period'>.</span><span class='id close'>close</span>
1027
- <span class='kw'>end</span>
1028
- <span class='kw'>else</span>
1029
- <span class='id stream'>stream</span>
1030
- <span class='kw'>end</span>
1031
- <span class='kw'>end</span></pre>
1032
- </td>
1033
- </tr>
1034
- </table>
1035
- </div>
1036
-
1037
- <div class="method_details ">
1038
- <p class="signature " id="read-instance_method">
1039
-
1040
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>read</strong>(path, *args)
1041
-
1042
-
1043
-
1044
- </p><div class="docstring">
1045
- <div class="discussion">
1046
- <p>
1047
- Returns the content of the file/directory at the given path.
1048
- </p>
1049
-
1050
-
1051
- </div>
1052
- </div>
1053
- <div class="tags">
1054
-
1055
- </div><table class="source_code">
1056
- <tr>
1057
- <td>
1058
- <pre class="lines">
1059
-
1060
-
1061
- 357
1062
- 358
1063
- 359
1064
- 360
1065
- 361</pre>
1066
- </td>
1067
- <td>
1068
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 357</span>
1069
-
1070
- <span class='kw'>def</span> <span class='id read'>read</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='op'>*</span><span class='id args'>args</span>
1071
- <span class='id open'>open</span> <span class='id path'>path</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
1072
- <span class='id f'>f</span><span class='period'>.</span><span class='id read'>read</span><span class='lparen'>(</span><span class='op'>*</span><span class='id args'>args</span><span class='rparen'>)</span>
1073
- <span class='kw'>end</span>
1074
- <span class='kw'>end</span></pre>
1075
- </td>
1076
- </tr>
1077
- </table>
1078
- </div>
1079
-
1080
- <div class="method_details ">
1081
- <p class="signature " id="recv-instance_method">
1082
-
1083
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>recv</strong>(tag)
1084
-
1085
-
1086
-
1087
- </p><div class="docstring">
1088
- <div class="discussion">
1089
- <p>
1090
- Returns the reply for the given ticket, which was previously given to you
1091
- when you sent the corresponding request <tt><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Rumai::IXP::Fcall</a></tt>.
1092
- </p>
1093
-
1094
-
1095
- </div>
1096
- </div>
1097
- <div class="tags">
1098
-
1099
- </div><table class="source_code">
1100
- <tr>
1101
- <td>
1102
- <pre class="lines">
1103
-
1104
-
1105
- 120
1106
- 121
1107
- 122
1108
- 123
1109
- 124
1110
- 125
1111
- 126
1112
- 127
1113
- 128
1114
- 129
1115
- 130
1116
- 131
1117
- 132
1118
- 133
1119
- 134
1120
- 135
1121
- 136
1122
- 137
1123
- 138
1124
- 139
1125
- 140
1126
- 141
1127
- 142
1128
- 143
1129
- 144
1130
- 145
1131
- 146
1132
- 147
1133
- 148
1134
- 149
1135
- 150
1136
- 151
1137
- 152
1138
- 153
1139
- 154
1140
- 155
1141
- 156
1142
- 157
1143
- 158
1144
- 159
1145
- 160
1146
- 161
1147
- 162
1148
- 163
1149
- 164
1150
- 165
1151
- 166
1152
- 167</pre>
1153
- </td>
1154
- <td>
1155
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 120</span>
1156
-
1157
- <span class='kw'>def</span> <span class='id recv'>recv</span> <span class='id tag'>tag</span>
1158
- <span class='id loop'>loop</span> <span class='kw'>do</span>
1159
- <span class='id reply'>reply</span> <span class='op'>=</span> <span class='ivar'>@recv_lock</span><span class='period'>.</span><span class='id synchronize'>synchronize</span> <span class='kw'>do</span>
1160
- <span class='kw'>if</span> <span class='ivar'>@recv_buf</span><span class='period'>.</span><span class='id key?'>key?</span> <span class='id tag'>tag</span>
1161
- <span class='ivar'>@recv_buf</span><span class='period'>.</span><span class='id delete'>delete</span> <span class='id tag'>tag</span>
1162
- <span class='kw'>else</span>
1163
- <span class='comment'># reply was not in receive buffer, so read
1164
- </span> <span class='comment'># the next reply... hoping that it is ours
1165
- </span>
1166
- <span class='id next_reply_available'>next_reply_available</span> <span class='op'>=</span>
1167
- <span class='ivar'>@recv_buf</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='op'>||</span> <span class='kw'>begin</span>
1168
- <span class='comment'># check (in a non-blocking fashion) if
1169
- </span> <span class='comment'># the stream has reply for us right now
1170
- </span> <span class='ivar'>@stream</span><span class='period'>.</span><span class='id ungetc'>ungetc</span> <span class='ivar'>@stream</span><span class='period'>.</span><span class='id read_nonblock'>read_nonblock</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
1171
- <span class='kw'>true</span>
1172
- <span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EAGAIN</span>
1173
- <span class='comment'># the stream is empty
1174
- </span> <span class='kw'>end</span>
1175
-
1176
- <span class='kw'>if</span> <span class='id next_reply_available'>next_reply_available</span>
1177
- <span class='id msg'>msg</span> <span class='op'>=</span> <span class='const'>Fcall</span><span class='period'>.</span><span class='id from_9p'>from_9p</span><span class='lparen'>(</span><span class='ivar'>@stream</span><span class='rparen'>)</span>
1178
-
1179
- <span class='kw'>if</span> <span class='id msg'>msg</span><span class='period'>.</span><span class='id tag'>tag</span> <span class='op'>==</span> <span class='id tag'>tag</span>
1180
- <span class='id msg'>msg</span>
1181
- <span class='kw'>else</span>
1182
- <span class='comment'># we got someone else's reply, so buffer
1183
- </span> <span class='comment'># it (for them to receive) and try again
1184
- </span> <span class='ivar'>@recv_buf</span><span class='lbracket'>[</span><span class='id msg'>msg</span><span class='period'>.</span><span class='id tag'>tag</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id msg'>msg</span>
1185
- <span class='kw'>nil</span>
1186
- <span class='kw'>end</span>
1187
- <span class='kw'>end</span>
1188
- <span class='kw'>end</span>
1189
- <span class='kw'>end</span>
1190
-
1191
- <span class='kw'>if</span> <span class='id reply'>reply</span>
1192
- <span class='ivar'>@tag_pool</span><span class='period'>.</span><span class='id release'>release</span> <span class='id tag'>tag</span>
1193
-
1194
- <span class='kw'>if</span> <span class='id reply'>reply</span><span class='period'>.</span><span class='id is_a?'>is_a?</span> <span class='const'>Rerror</span>
1195
- <span class='id raise'>raise</span> <span class='const'>Error</span><span class='comma'>,</span> <span class='id reply'>reply</span><span class='period'>.</span><span class='id ename'>ename</span>
1196
- <span class='kw'>end</span>
1197
-
1198
- <span class='kw'>return</span> <span class='id reply'>reply</span>
1199
- <span class='kw'>else</span>
1200
- <span class='comment'># give other threads a chance to receive
1201
- </span> <span class='const'>Thread</span><span class='period'>.</span><span class='id pass'>pass</span>
1202
- <span class='kw'>end</span>
1203
- <span class='kw'>end</span>
1204
- <span class='kw'>end</span></pre>
1205
- </td>
1206
- </tr>
1207
- </table>
1208
- </div>
1209
-
1210
- <div class="method_details ">
1211
- <p class="signature " id="remove-instance_method">
1212
-
1213
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>remove</strong>(path)
1214
-
1215
-
1216
-
1217
- </p><div class="docstring">
1218
- <div class="discussion">
1219
- <p>
1220
- Deletes the file at the given path.
1221
- </p>
1222
-
1223
-
1224
- </div>
1225
- </div>
1226
- <div class="tags">
1227
-
1228
- </div><table class="source_code">
1229
- <tr>
1230
- <td>
1231
- <pre class="lines">
1232
-
1233
-
1234
- 413
1235
- 414
1236
- 415
1237
- 416</pre>
1238
- </td>
1239
- <td>
1240
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 413</span>
1241
-
1242
- <span class='kw'>def</span> <span class='id remove'>remove</span> <span class='id path'>path</span>
1243
- <span class='id path_fid'>path_fid</span> <span class='op'>=</span> <span class='id walk'>walk</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
1244
- <span class='id remove_fid'>remove_fid</span> <span class='id path_fid'>path_fid</span> <span class='comment'># remove also does clunk
1245
- </span><span class='kw'>end</span></pre>
1246
- </td>
1247
- </tr>
1248
- </table>
1249
- </div>
1250
-
1251
- <div class="method_details ">
1252
- <p class="signature " id="remove_fid-instance_method">
1253
-
1254
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>remove_fid</strong>(path_fid)
1255
-
1256
-
1257
-
1258
- </p><div class="docstring">
1259
- <div class="discussion">
1260
- <p>
1261
- Deletes the file corresponding to the given FID and clunks the given FID.
1262
- </p>
1263
-
1264
-
1265
- </div>
1266
- </div>
1267
- <div class="tags">
1268
-
1269
- </div><table class="source_code">
1270
- <tr>
1271
- <td>
1272
- <pre class="lines">
1273
-
1274
-
1275
- 422
1276
- 423
1277
- 424</pre>
1278
- </td>
1279
- <td>
1280
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 422</span>
1281
-
1282
- <span class='kw'>def</span> <span class='id remove_fid'>remove_fid</span> <span class='id path_fid'>path_fid</span>
1283
- <span class='id talk'>talk</span> <span class='const'>Tremove</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='id path_fid'>path_fid</span><span class='rparen'>)</span>
1284
- <span class='kw'>end</span></pre>
1285
- </td>
1286
- </tr>
1287
- </table>
1288
- </div>
1289
-
1290
- <div class="method_details ">
1291
- <p class="signature " id="send-instance_method">
1292
-
1293
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>send</strong>(request)
1294
-
1295
-
1296
-
1297
- </p><div class="docstring">
1298
- <div class="discussion">
1299
- <p>
1300
- Sends the given request <tt><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Rumai::IXP::Fcall</a></tt> and returns a ticket that you
1301
- can use later to receive the reply.
1302
- </p>
1303
-
1304
-
1305
- </div>
1306
- </div>
1307
- <div class="tags">
1308
-
1309
- </div><table class="source_code">
1310
- <tr>
1311
- <td>
1312
- <pre class="lines">
1313
-
1314
-
1315
- 107
1316
- 108
1317
- 109
1318
- 110
1319
- 111
1320
- 112
1321
- 113
1322
- 114</pre>
1323
- </td>
1324
- <td>
1325
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 107</span>
1326
-
1327
- <span class='kw'>def</span> <span class='id send'>send</span> <span class='id request'>request</span>
1328
- <span class='id tag'>tag</span> <span class='op'>=</span> <span class='ivar'>@tag_pool</span><span class='period'>.</span><span class='id obtain'>obtain</span>
1329
-
1330
- <span class='id request'>request</span><span class='period'>.</span><span class='id tag'>tag</span> <span class='op'>=</span> <span class='id tag'>tag</span>
1331
- <span class='ivar'>@stream</span> <span class='op'>&lt;&lt;</span> <span class='id request'>request</span><span class='period'>.</span><span class='id to_9p'>to_9p</span>
1332
-
1333
- <span class='id tag'>tag</span>
1334
- <span class='kw'>end</span></pre>
1335
- </td>
1336
- </tr>
1337
- </table>
1338
- </div>
1339
-
1340
- <div class="method_details ">
1341
- <p class="signature " id="stat-instance_method">
1342
-
1343
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>stat</strong>(path)
1344
-
1345
-
1346
-
1347
- </p><div class="docstring">
1348
- <div class="discussion">
1349
- <p>
1350
- Returns information about the file at the given path.
1351
- </p>
1352
-
1353
-
1354
- </div>
1355
- </div>
1356
- <div class="tags">
1357
-
1358
- </div><table class="source_code">
1359
- <tr>
1360
- <td>
1361
- <pre class="lines">
1362
-
1363
-
1364
- 429
1365
- 430
1366
- 431
1367
- 432
1368
- 433
1369
- 434</pre>
1370
- </td>
1371
- <td>
1372
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 429</span>
1373
-
1374
- <span class='kw'>def</span> <span class='id stat'>stat</span> <span class='id path'>path</span>
1375
- <span class='id with_fid'>with_fid</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id path_fid'>path_fid</span><span class='op'>|</span>
1376
- <span class='id walk_fid'>walk_fid</span> <span class='id path_fid'>path_fid</span><span class='comma'>,</span> <span class='id path'>path</span>
1377
- <span class='id stat_fid'>stat_fid</span> <span class='id path_fid'>path_fid</span>
1378
- <span class='kw'>end</span>
1379
- <span class='kw'>end</span></pre>
1380
- </td>
1381
- </tr>
1382
- </table>
1383
- </div>
1384
-
1385
- <div class="method_details ">
1386
- <p class="signature " id="stat_fid-instance_method">
1387
-
1388
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>stat_fid</strong>(path_fid)
1389
-
1390
-
1391
-
1392
- </p><div class="docstring">
1393
- <div class="discussion">
1394
- <p>
1395
- Returns information about the file referenced by the given FID.
1396
- </p>
1397
-
1398
-
1399
- </div>
1400
- </div>
1401
- <div class="tags">
1402
-
1403
- </div><table class="source_code">
1404
- <tr>
1405
- <td>
1406
- <pre class="lines">
1407
-
1408
-
1409
- 439
1410
- 440
1411
- 441
1412
- 442
1413
- 443</pre>
1414
- </td>
1415
- <td>
1416
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 439</span>
1417
-
1418
- <span class='kw'>def</span> <span class='id stat_fid'>stat_fid</span> <span class='id path_fid'>path_fid</span>
1419
- <span class='id req'>req</span> <span class='op'>=</span> <span class='const'>Tstat</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='id path_fid'>path_fid</span><span class='rparen'>)</span>
1420
- <span class='id rsp'>rsp</span> <span class='op'>=</span> <span class='id talk'>talk</span><span class='lparen'>(</span><span class='id req'>req</span><span class='rparen'>)</span>
1421
- <span class='id rsp'>rsp</span><span class='period'>.</span><span class='id stat'>stat</span>
1422
- <span class='kw'>end</span></pre>
1423
- </td>
1424
- </tr>
1425
- </table>
1426
- </div>
1427
-
1428
- <div class="method_details ">
1429
- <p class="signature " id="talk-instance_method">
1430
-
1431
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>talk</strong>(request)
1432
-
1433
-
1434
-
1435
- </p><div class="docstring">
1436
- <div class="discussion">
1437
- <p>
1438
- Sends the given request <tt><a href="Fcall.html" title="Rumai::IXP::Fcall (class)">Rumai::IXP::Fcall</a></tt> and returns its reply.
1439
- </p>
1440
-
1441
-
1442
- </div>
1443
- </div>
1444
- <div class="tags">
1445
-
1446
- </div><table class="source_code">
1447
- <tr>
1448
- <td>
1449
- <pre class="lines">
1450
-
1451
-
1452
- 172
1453
- 173
1454
- 174
1455
- 175
1456
- 176
1457
- 177
1458
- 178
1459
- 179
1460
- 180
1461
- 181</pre>
1462
- </td>
1463
- <td>
1464
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 172</span>
1465
-
1466
- <span class='kw'>def</span> <span class='id talk'>talk</span> <span class='id request'>request</span>
1467
- <span class='id tag'>tag</span> <span class='op'>=</span> <span class='id send'>send</span><span class='lparen'>(</span><span class='id request'>request</span><span class='rparen'>)</span>
1468
-
1469
- <span class='kw'>begin</span>
1470
- <span class='id recv'>recv</span> <span class='id tag'>tag</span>
1471
- <span class='kw'>rescue</span> <span class='const'>Error</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1472
- <span class='id e'>e</span><span class='period'>.</span><span class='id message'>message</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> -- in reply to </span><span class='embexpr_beg'>#{</span><span class='id request'>request</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1473
- <span class='id raise'>raise</span>
1474
- <span class='kw'>end</span>
1475
- <span class='kw'>end</span></pre>
1476
- </td>
1477
- </tr>
1478
- </table>
1479
- </div>
1480
-
1481
- <div class="method_details ">
1482
- <p class="signature " id="walk-instance_method">
1483
-
1484
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>walk</strong>(path)
1485
-
1486
-
1487
-
1488
- </p><div class="docstring">
1489
- <div class="discussion">
1490
- <p>
1491
- Returns an FID corresponding to the given path.
1492
- </p>
1493
-
1494
-
1495
- </div>
1496
- </div>
1497
- <div class="tags">
1498
-
1499
- </div><table class="source_code">
1500
- <tr>
1501
- <td>
1502
- <pre class="lines">
1503
-
1504
-
1505
- 448
1506
- 449
1507
- 450
1508
- 451
1509
- 452</pre>
1510
- </td>
1511
- <td>
1512
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 448</span>
1513
-
1514
- <span class='kw'>def</span> <span class='id walk'>walk</span> <span class='id path'>path</span>
1515
- <span class='id fid'>fid</span> <span class='op'>=</span> <span class='ivar'>@fid_pool</span><span class='period'>.</span><span class='id obtain'>obtain</span>
1516
- <span class='id walk_fid'>walk_fid</span> <span class='id fid'>fid</span><span class='comma'>,</span> <span class='id path'>path</span>
1517
- <span class='id fid'>fid</span>
1518
- <span class='kw'>end</span></pre>
1519
- </td>
1520
- </tr>
1521
- </table>
1522
- </div>
1523
-
1524
- <div class="method_details ">
1525
- <p class="signature " id="walk_fid-instance_method">
1526
-
1527
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>walk_fid</strong>(path_fid, path)
1528
-
1529
-
1530
-
1531
- </p><div class="docstring">
1532
- <div class="discussion">
1533
- <p>
1534
- Associates the given FID to the given path.
1535
- </p>
1536
-
1537
-
1538
- </div>
1539
- </div>
1540
- <div class="tags">
1541
-
1542
- </div><table class="source_code">
1543
- <tr>
1544
- <td>
1545
- <pre class="lines">
1546
-
1547
-
1548
- 457
1549
- 458
1550
- 459
1551
- 460
1552
- 461
1553
- 462
1554
- 463</pre>
1555
- </td>
1556
- <td>
1557
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 457</span>
1558
-
1559
- <span class='kw'>def</span> <span class='id walk_fid'>walk_fid</span> <span class='id path_fid'>path_fid</span><span class='comma'>,</span> <span class='id path'>path</span>
1560
- <span class='id talk'>talk</span> <span class='const'>Twalk</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span>
1561
- <span class='symbol'>:fid</span> <span class='op'>=&gt;</span> <span class='ivar'>@root_fid</span><span class='comma'>,</span>
1562
- <span class='symbol'>:newfid</span> <span class='op'>=&gt;</span> <span class='id path_fid'>path_fid</span><span class='comma'>,</span>
1563
- <span class='symbol'>:wname</span> <span class='op'>=&gt;</span> <span class='id path'>path</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>/+</span><span class='regexp_end'>}</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id s'>s</span><span class='op'>|</span> <span class='id s'>s</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='rbrace'>}</span>
1564
- <span class='rparen'>)</span>
1565
- <span class='kw'>end</span></pre>
1566
- </td>
1567
- </tr>
1568
- </table>
1569
- </div>
1570
-
1571
- <div class="method_details ">
1572
- <p class="signature " id="write-instance_method">
1573
-
1574
- - (<tt><a href="../../Object.html" title="Object (class)">Object</a></tt>) <strong>write</strong>(path, content)
1575
-
1576
-
1577
-
1578
- </p><div class="docstring">
1579
- <div class="discussion">
1580
- <p>
1581
- Writes the given content to the file at the given path.
1582
- </p>
1583
-
1584
-
1585
- </div>
1586
- </div>
1587
- <div class="tags">
1588
-
1589
- </div><table class="source_code">
1590
- <tr>
1591
- <td>
1592
- <pre class="lines">
1593
-
1594
-
1595
- 381
1596
- 382
1597
- 383
1598
- 384
1599
- 385</pre>
1600
- </td>
1601
- <td>
1602
- <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 381</span>
1603
-
1604
- <span class='kw'>def</span> <span class='id write'>write</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='id content'>content</span>
1605
- <span class='id open'>open</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>w</span><span class='tstring_end'>'</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
1606
- <span class='id f'>f</span> <span class='op'>&lt;&lt;</span> <span class='id content'>content</span>
1607
- <span class='kw'>end</span>
1608
- <span class='kw'>end</span></pre>
1609
- </td>
1610
- </tr>
1611
- </table>
1612
- </div>
1613
-
1614
- </div>
1615
-
1616
- </div>
1617
-
1618
- <div id="footer">
1619
- Generated on Thu Apr 1 00:31:01 2010 by
1620
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool">yard</a>
1621
- 0.5.4 (ruby-1.9.1).
1622
- </div>
1623
-
1624
- </body>
1625
- </html>