rumai 1.0.0 → 2.0.0

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 (179) hide show
  1. data/Rakefile +1 -1
  2. data/doc/api/classes/Integer.src/M000002.html +1 -1
  3. data/doc/api/classes/Rumai.html +1 -1
  4. data/doc/api/classes/Rumai.src/M000015.html +1 -1
  5. data/doc/api/classes/Rumai.src/M000016.html +1 -1
  6. data/doc/api/classes/Rumai.src/M000017.html +1 -1
  7. data/doc/api/classes/Rumai.src/M000018.html +1 -1
  8. data/doc/api/classes/Rumai.src/M000019.html +1 -1
  9. data/doc/api/classes/Rumai.src/M000020.html +1 -1
  10. data/doc/api/classes/Rumai.src/M000021.html +1 -1
  11. data/doc/api/classes/Rumai.src/M000022.html +1 -1
  12. data/doc/api/classes/Rumai.src/M000023.html +1 -1
  13. data/doc/api/classes/Rumai.src/M000024.html +1 -1
  14. data/doc/api/classes/Rumai.src/M000025.html +1 -1
  15. data/doc/api/classes/Rumai.src/M000026.html +1 -1
  16. data/doc/api/classes/Rumai/Area.html +87 -87
  17. data/doc/api/classes/Rumai/Area.src/{M000091.html → M000079.html} +5 -8
  18. data/doc/api/classes/Rumai/Area.src/M000080.html +4 -5
  19. data/doc/api/classes/Rumai/Area.src/M000081.html +3 -3
  20. data/doc/api/classes/Rumai/Area.src/M000082.html +5 -5
  21. data/doc/api/classes/Rumai/Area.src/M000083.html +3 -3
  22. data/doc/api/classes/Rumai/Area.src/M000084.html +3 -3
  23. data/doc/api/classes/Rumai/Area.src/M000085.html +4 -4
  24. data/doc/api/classes/Rumai/Area.src/M000086.html +4 -4
  25. data/doc/api/classes/Rumai/Area.src/M000087.html +4 -4
  26. data/doc/api/classes/Rumai/Area.src/M000088.html +4 -4
  27. data/doc/api/classes/Rumai/Area.src/M000089.html +4 -4
  28. data/doc/api/classes/Rumai/Area.src/M000090.html +7 -3
  29. data/doc/api/classes/Rumai/Area.src/M000092.html +23 -0
  30. data/doc/api/classes/Rumai/Area.src/M000093.html +8 -3
  31. data/doc/api/classes/Rumai/Area.src/M000094.html +4 -14
  32. data/doc/api/classes/Rumai/Area.src/M000095.html +17 -4
  33. data/doc/api/classes/Rumai/Chain.html +18 -18
  34. data/doc/api/classes/Rumai/Chain.src/{M000079.html → M000076.html} +4 -4
  35. data/doc/api/classes/Rumai/Chain.src/M000077.html +4 -4
  36. data/doc/api/classes/Rumai/Chain.src/M000078.html +4 -4
  37. data/doc/api/classes/Rumai/Client.html +48 -30
  38. data/doc/api/classes/Rumai/Client.src/M000113.html +18 -0
  39. data/doc/api/classes/Rumai/Client.src/M000114.html +4 -4
  40. data/doc/api/classes/Rumai/Client.src/M000115.html +5 -5
  41. data/doc/api/classes/Rumai/Client.src/M000116.html +26 -5
  42. data/doc/api/classes/Rumai/Client.src/M000117.html +5 -25
  43. data/doc/api/classes/Rumai/Client.src/M000118.html +4 -13
  44. data/doc/api/classes/Rumai/Client.src/M000119.html +4 -5
  45. data/doc/api/classes/Rumai/Client.src/M000120.html +1 -1
  46. data/doc/api/classes/Rumai/Client.src/M000121.html +1 -1
  47. data/doc/api/classes/Rumai/Client.src/M000122.html +1 -1
  48. data/doc/api/classes/Rumai/Client.src/M000123.html +1 -1
  49. data/doc/api/classes/Rumai/Client.src/M000124.html +1 -1
  50. data/doc/api/classes/Rumai/Client.src/M000125.html +1 -1
  51. data/doc/api/classes/Rumai/Client.src/M000126.html +1 -1
  52. data/doc/api/classes/Rumai/Client.src/M000127.html +1 -1
  53. data/doc/api/classes/Rumai/Client.src/M000128.html +1 -1
  54. data/doc/api/classes/Rumai/Client.src/M000129.html +1 -1
  55. data/doc/api/classes/Rumai/Client.src/M000130.html +1 -1
  56. data/doc/api/classes/Rumai/ClientContainer.src/M000027.html +1 -1
  57. data/doc/api/classes/Rumai/ClientContainer.src/M000028.html +1 -1
  58. data/doc/api/classes/Rumai/ClientContainer.src/M000029.html +1 -1
  59. data/doc/api/classes/Rumai/IXP/Agent.html +77 -77
  60. data/doc/api/classes/Rumai/IXP/Agent.src/M000044.html +53 -0
  61. data/doc/api/classes/Rumai/IXP/Agent.src/M000045.html +36 -0
  62. data/doc/api/classes/Rumai/IXP/Agent.src/M000046.html +20 -28
  63. data/doc/api/classes/Rumai/IXP/Agent.src/M000047.html +5 -29
  64. data/doc/api/classes/Rumai/IXP/Agent.src/M000048.html +7 -24
  65. data/doc/api/classes/Rumai/IXP/Agent.src/M000049.html +5 -5
  66. data/doc/api/classes/Rumai/IXP/Agent.src/M000050.html +18 -7
  67. data/doc/api/classes/Rumai/IXP/Agent.src/M000051.html +5 -6
  68. data/doc/api/classes/Rumai/IXP/Agent.src/M000052.html +4 -19
  69. data/doc/api/classes/Rumai/IXP/Agent.src/M000053.html +7 -5
  70. data/doc/api/classes/Rumai/IXP/Agent.src/M000054.html +6 -4
  71. data/doc/api/classes/Rumai/IXP/Agent.src/M000055.html +6 -7
  72. data/doc/api/classes/Rumai/IXP/Agent.src/M000056.html +8 -6
  73. data/doc/api/classes/Rumai/IXP/Agent.src/M000057.html +9 -6
  74. data/doc/api/classes/Rumai/IXP/Agent.src/M000058.html +5 -8
  75. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +93 -35
  76. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000060.html +23 -0
  77. data/doc/api/classes/Rumai/IXP/{Struct/Field.src/M000040.html → Agent/FidStream.src/M000061.html} +5 -4
  78. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000062.html +8 -8
  79. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000063.html +4 -7
  80. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000064.html +12 -9
  81. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000065.html +21 -11
  82. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +5 -5
  83. data/doc/api/classes/Rumai/IXP/Agent/MODES.src/{M000061.html → M000059.html} +0 -0
  84. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +16 -16
  85. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000067.html +22 -0
  86. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000068.html +21 -8
  87. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000069.html +4 -18
  88. data/doc/api/classes/Rumai/IXP/Fcall.html +21 -21
  89. data/doc/api/classes/Rumai/IXP/Fcall.src/M000070.html +20 -0
  90. data/doc/api/classes/Rumai/IXP/Fcall.src/M000071.html +11 -6
  91. data/doc/api/classes/Rumai/IXP/Fcall.src/M000072.html +4 -11
  92. data/doc/api/classes/Rumai/IXP/Fcall.src/M000073.html +3 -3
  93. data/doc/api/classes/Rumai/IXP/Stat.html +5 -5
  94. data/doc/api/classes/Rumai/IXP/Stat.src/{M000076.html → M000075.html} +1 -1
  95. data/doc/api/classes/Rumai/IXP/Stream.html +5 -5
  96. data/doc/api/classes/Rumai/IXP/Stream.src/{M000045.html → M000043.html} +1 -2
  97. data/doc/api/classes/Rumai/IXP/Struct.html +11 -47
  98. data/doc/api/classes/Rumai/IXP/Struct.src/M000030.html +1 -1
  99. data/doc/api/classes/Rumai/IXP/Struct.src/M000031.html +4 -4
  100. data/doc/api/classes/Rumai/IXP/Struct.src/M000032.html +5 -3
  101. data/doc/api/classes/Rumai/IXP/Struct.src/M000033.html +43 -4
  102. data/doc/api/classes/Rumai/IXP/Struct/Field.html +34 -42
  103. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000034.html +21 -0
  104. data/doc/api/classes/Rumai/IXP/Struct/Field.src/{M000041.html → M000035.html} +7 -4
  105. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000036.html +6 -7
  106. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000037.html +13 -5
  107. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000038.html +4 -6
  108. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000039.html +4 -15
  109. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +12 -12
  110. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/{M000043.html → M000041.html} +3 -3
  111. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/{M000044.html → M000042.html} +4 -4
  112. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +6 -6
  113. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.src/{M000042.html → M000040.html} +3 -3
  114. data/doc/api/classes/Rumai/IXP/Terror.html +5 -5
  115. data/doc/api/classes/Rumai/IXP/Terror.src/{M000075.html → M000074.html} +1 -1
  116. data/doc/api/classes/Rumai/Node.html +88 -88
  117. data/doc/api/classes/Rumai/Node.src/M000096.html +18 -0
  118. data/doc/api/classes/Rumai/Node.src/M000097.html +4 -4
  119. data/doc/api/classes/Rumai/Node.src/M000098.html +8 -4
  120. data/doc/api/classes/Rumai/Node.src/M000099.html +4 -8
  121. data/doc/api/classes/Rumai/Node.src/M000100.html +4 -4
  122. data/doc/api/classes/Rumai/Node.src/M000101.html +4 -4
  123. data/doc/api/classes/Rumai/Node.src/M000102.html +4 -4
  124. data/doc/api/classes/Rumai/Node.src/M000103.html +8 -4
  125. data/doc/api/classes/Rumai/Node.src/M000104.html +4 -8
  126. data/doc/api/classes/Rumai/Node.src/M000105.html +4 -4
  127. data/doc/api/classes/Rumai/Node.src/M000106.html +4 -4
  128. data/doc/api/classes/Rumai/Node.src/M000107.html +4 -4
  129. data/doc/api/classes/Rumai/Node.src/M000108.html +4 -4
  130. data/doc/api/classes/Rumai/Node.src/M000109.html +4 -4
  131. data/doc/api/classes/Rumai/Node.src/M000110.html +5 -5
  132. data/doc/api/classes/Rumai/Node.src/M000111.html +7 -5
  133. data/doc/api/classes/Rumai/Node.src/M000112.html +12 -5
  134. data/doc/api/classes/Rumai/View.html +2 -2
  135. data/doc/api/classes/Rumai/View.src/M000131.html +1 -1
  136. data/doc/api/classes/Rumai/View.src/M000132.html +1 -1
  137. data/doc/api/classes/Rumai/View.src/M000133.html +1 -1
  138. data/doc/api/classes/Rumai/View.src/M000134.html +1 -1
  139. data/doc/api/classes/Rumai/View.src/M000135.html +1 -1
  140. data/doc/api/classes/Rumai/View.src/M000136.html +1 -1
  141. data/doc/api/classes/Rumai/View.src/M000137.html +1 -1
  142. data/doc/api/classes/Rumai/View.src/M000138.html +1 -1
  143. data/doc/api/classes/Rumai/View.src/M000139.html +1 -1
  144. data/doc/api/classes/Rumai/View.src/M000140.html +1 -1
  145. data/doc/api/classes/Rumai/View.src/M000141.html +3 -3
  146. data/doc/api/classes/Rumai/View.src/M000142.html +1 -1
  147. data/doc/api/classes/Rumai/View.src/M000143.html +1 -1
  148. data/doc/api/classes/Rumai/View.src/M000144.html +1 -1
  149. data/doc/api/classes/Rumai/View.src/M000145.html +1 -1
  150. data/doc/api/classes/Rumai/View.src/M000146.html +1 -1
  151. data/doc/api/classes/String.src/M000005.html +1 -1
  152. data/doc/api/classes/String.src/M000006.html +2 -3
  153. data/doc/api/classes/Time.src/M000003.html +1 -1
  154. data/doc/api/classes/Time.src/M000004.html +1 -1
  155. data/doc/api/created.rid +1 -1
  156. data/doc/api/files/lib/rumai/fs_rb.html +1 -1
  157. data/doc/api/files/lib/rumai/ixp/message_rb.html +1 -1
  158. data/doc/api/files/lib/rumai/ixp/transport_rb.html +1 -1
  159. data/doc/api/files/lib/rumai/nfo_rb.html +1 -1
  160. data/doc/api/files/lib/rumai/wm_rb.html +1 -1
  161. data/doc/api/fr_method_index.html +91 -91
  162. data/doc/guide.erb +2 -2
  163. data/doc/guide.html +49 -41
  164. data/lib/rumai/fs.rb +3 -3
  165. data/lib/rumai/ixp/message.rb +19 -36
  166. data/lib/rumai/ixp/transport.rb +98 -85
  167. data/lib/rumai/nfo.rb +2 -2
  168. data/lib/rumai/wm.rb +15 -25
  169. metadata +24 -25
  170. data/doc/api/classes/Rumai/Area.src/M000096.html +0 -31
  171. data/doc/api/classes/Rumai/IXP/Agent.src/M000059.html +0 -23
  172. data/doc/api/classes/Rumai/IXP/Agent.src/M000060.html +0 -19
  173. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000066.html +0 -36
  174. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000070.html +0 -20
  175. data/doc/api/classes/Rumai/IXP/Fcall.src/M000074.html +0 -18
  176. data/doc/api/classes/Rumai/IXP/Struct.src/M000034.html +0 -20
  177. data/doc/api/classes/Rumai/IXP/Struct.src/M000035.html +0 -57
  178. data/doc/api/classes/Rumai/Node.src/M000113.html +0 -27
  179. data/doc/index.html +0 -2035
@@ -5,43 +5,35 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>new (Rumai::IXP::Agent)</title>
8
+ <title>open (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 16</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">aStream</span>
15
- <span class="ruby-ivar">@stream</span> = <span class="ruby-identifier">aStream</span>
16
- <span class="ruby-ivar">@sendLock</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
17
- <span class="ruby-ivar">@recvLock</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 147</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aMode</span> = <span class="ruby-value str">'r'</span> <span class="ruby-comment cmt"># :yields: FidStream</span>
15
+ <span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">aMode</span>)
18
16
 
19
- <span class="ruby-ivar">@responses</span> = {} <span class="ruby-comment cmt"># tag =&gt; message</span>
20
- <span class="ruby-ivar">@tagPool</span> = <span class="ruby-constant">RangedPool</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-constant">BYTE2_MASK</span>)
17
+ <span class="ruby-comment cmt"># open the file</span>
18
+ <span class="ruby-identifier">pathFid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">aPath</span>)
21
19
 
22
- <span class="ruby-ivar">@fidPool</span> = <span class="ruby-constant">RangedPool</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-constant">BYTE4_MASK</span>)
23
- <span class="ruby-ivar">@msize</span> = <span class="ruby-constant">Tversion</span><span class="ruby-operator">::</span><span class="ruby-constant">MSIZE</span>
24
-
25
- <span class="ruby-comment cmt"># establish connection with 9P2000 server</span>
26
- <span class="ruby-identifier">req</span> = <span class="ruby-constant">Tversion</span>.<span class="ruby-identifier">new</span>(
27
- <span class="ruby-identifier">:tag</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOTAG</span>,
28
- <span class="ruby-identifier">:msize</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Tversion</span><span class="ruby-operator">::</span><span class="ruby-constant">MSIZE</span>,
29
- <span class="ruby-identifier">:version</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Tversion</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>
20
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Topen</span>.<span class="ruby-identifier">new</span>(
21
+ <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">pathFid</span>,
22
+ <span class="ruby-identifier">:mode</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode</span>
30
23
  )
31
- <span class="ruby-identifier">rsp</span> = <span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
32
24
 
33
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">req</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">version</span>
34
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Error</span>, <span class="ruby-node">&quot;protocol mismatch: self=#{req.version.inspect} server=#{rsp.version.inspect}&quot;</span>
25
+ <span class="ruby-identifier">stream</span> = <span class="ruby-constant">FidStream</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">pathFid</span>, <span class="ruby-ivar">@msize</span>)
26
+
27
+ <span class="ruby-comment cmt"># return the file stream</span>
28
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
29
+ <span class="ruby-keyword kw">begin</span>
30
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">stream</span>
31
+ <span class="ruby-keyword kw">ensure</span>
32
+ <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">close</span>
33
+ <span class="ruby-keyword kw">end</span>
34
+ <span class="ruby-keyword kw">else</span>
35
+ <span class="ruby-identifier">stream</span>
35
36
  <span class="ruby-keyword kw">end</span>
36
-
37
- <span class="ruby-ivar">@msize</span> = <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">msize</span>
38
-
39
- <span class="ruby-comment cmt"># authenticate the connection (not necessary for wmii)</span>
40
- <span class="ruby-ivar">@authFid</span> = <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOFID</span>
41
-
42
- <span class="ruby-comment cmt"># attach to filesystem root</span>
43
- <span class="ruby-ivar">@rootFid</span> = <span class="ruby-ivar">@fidPool</span>.<span class="ruby-identifier">obtain</span>
44
- <span class="ruby-identifier">attach</span> <span class="ruby-ivar">@rootFid</span>, <span class="ruby-ivar">@authFid</span>
45
37
  <span class="ruby-keyword kw">end</span></pre>
46
38
  </body>
47
39
  </html>
@@ -5,39 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>talk (Rumai::IXP::Agent)</title>
8
+ <title>read (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 96</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">talk</span> <span class="ruby-identifier">aRequest</span>
15
- <span class="ruby-comment cmt"># send the messsage</span>
16
- <span class="ruby-identifier">ticket</span> = <span class="ruby-identifier">aRequest</span>.<span class="ruby-identifier">tag</span> = <span class="ruby-ivar">@tagPool</span>.<span class="ruby-identifier">obtain</span>
17
-
18
- <span class="ruby-ivar">@sendLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
19
- <span class="ruby-ivar">@stream</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aRequest</span>.<span class="ruby-identifier">to_9p</span>
20
- <span class="ruby-keyword kw">end</span>
21
-
22
- <span class="ruby-comment cmt"># receive the response</span>
23
- <span class="ruby-keyword kw">while</span> <span class="ruby-keyword kw">true</span>
24
- <span class="ruby-comment cmt"># check for *my* response in the bucket</span>
25
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@recvLock</span>.<span class="ruby-identifier">synchronize</span> { <span class="ruby-ivar">@responses</span>.<span class="ruby-identifier">delete</span> <span class="ruby-identifier">ticket</span> }
26
- <span class="ruby-ivar">@tagPool</span>.<span class="ruby-identifier">release</span> <span class="ruby-identifier">ticket</span>
27
-
28
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Rerror</span>
29
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">Error</span>, <span class="ruby-node">&quot;#{response.ename.inspect} in response to #{aRequest.inspect}&quot;</span>
30
- <span class="ruby-keyword kw">else</span>
31
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
32
- <span class="ruby-keyword kw">end</span>
33
-
34
- <span class="ruby-comment cmt"># put the next response into the bucket</span>
35
- <span class="ruby-keyword kw">else</span>
36
- <span class="ruby-ivar">@recvLock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
37
- <span class="ruby-identifier">response</span> = <span class="ruby-constant">Fcall</span>.<span class="ruby-identifier">from_9p</span> <span class="ruby-ivar">@stream</span>
38
- <span class="ruby-ivar">@responses</span>[<span class="ruby-identifier">response</span>.<span class="ruby-identifier">tag</span>] = <span class="ruby-identifier">response</span>
39
- <span class="ruby-keyword kw">end</span>
40
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 280</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>
15
+ <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">aArgs</span>)
41
17
  <span class="ruby-keyword kw">end</span>
42
18
  <span class="ruby-keyword kw">end</span></pre>
43
19
  </body>
@@ -5,35 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>open (Rumai::IXP::Agent)</title>
8
+ <title>entries (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 147</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aMode</span> = <span class="ruby-value str">'r'</span> <span class="ruby-comment cmt"># :yields: FidStream</span>
15
- <span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">aMode</span>)
16
-
17
- <span class="ruby-comment cmt"># open the file</span>
18
- <span class="ruby-identifier">pathFid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">aPath</span>)
19
-
20
- <span class="ruby-identifier">talk</span> <span class="ruby-constant">Topen</span>.<span class="ruby-identifier">new</span>(
21
- <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">pathFid</span>,
22
- <span class="ruby-identifier">:mode</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode</span>
23
- )
24
-
25
- <span class="ruby-identifier">stream</span> = <span class="ruby-constant">FidStream</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">pathFid</span>, <span class="ruby-ivar">@msize</span>)
26
-
27
- <span class="ruby-comment cmt"># return the file stream</span>
28
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
29
- <span class="ruby-keyword kw">begin</span>
30
- <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">stream</span>
31
- <span class="ruby-keyword kw">ensure</span>
32
- <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">close</span>
33
- <span class="ruby-keyword kw">end</span>
34
- <span class="ruby-keyword kw">else</span>
35
- <span class="ruby-identifier">stream</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 287</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">entries</span> <span class="ruby-identifier">aPath</span>
15
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">stat</span>(<span class="ruby-identifier">aPath</span>).<span class="ruby-identifier">directory?</span>
16
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;#{aPath.inspect} is not a directory&quot;</span>
36
17
  <span class="ruby-keyword kw">end</span>
18
+
19
+ <span class="ruby-identifier">read</span>(<span class="ruby-identifier">aPath</span>).<span class="ruby-identifier">map!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span>}
37
20
  <span class="ruby-keyword kw">end</span></pre>
38
21
  </body>
39
22
  </html>
@@ -5,15 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>read (Rumai::IXP::Agent)</title>
8
+ <title>write (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 267</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span> <span class="ruby-identifier">aPath</span>
15
- <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
16
- <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 296</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aContent</span>
15
+ <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-value str">'w'</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aContent</span>
17
17
  <span class="ruby-keyword kw">end</span>
18
18
  <span class="ruby-keyword kw">end</span></pre>
19
19
  </body>
@@ -5,18 +5,29 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>entries (Rumai::IXP::Agent)</title>
8
+ <title>create (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 274</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">entries</span> <span class="ruby-identifier">aPath</span>
15
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">stat</span>(<span class="ruby-identifier">aPath</span>).<span class="ruby-identifier">directory?</span>
16
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">&quot;#{aPath.inspect} is not a directory&quot;</span>
17
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 304</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aMode</span> = <span class="ruby-value str">'rw'</span>, <span class="ruby-identifier">aPerm</span> = <span class="ruby-value">0644</span>
15
+ <span class="ruby-identifier">prefix</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">aPath</span>)
16
+ <span class="ruby-identifier">target</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">aPath</span>)
17
+
18
+ <span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">aMode</span>)
18
19
 
19
- <span class="ruby-identifier">read</span>(<span class="ruby-identifier">aPath</span>).<span class="ruby-identifier">map!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span>}
20
+ <span class="ruby-identifier">with_fid</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">prefixFid</span><span class="ruby-operator">|</span>
21
+ <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">prefixFid</span>, <span class="ruby-identifier">prefix</span>
22
+
23
+ <span class="ruby-comment cmt"># create the file</span>
24
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Tcreate</span>.<span class="ruby-identifier">new</span>(
25
+ <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">prefixFid</span>,
26
+ <span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">target</span>,
27
+ <span class="ruby-identifier">:perm</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPerm</span>,
28
+ <span class="ruby-identifier">:mode</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode</span>
29
+ )
30
+ <span class="ruby-keyword kw">end</span>
20
31
  <span class="ruby-keyword kw">end</span></pre>
21
32
  </body>
22
33
  </html>
@@ -5,16 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>write (Rumai::IXP::Agent)</title>
8
+ <title>remove (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 283</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aContent</span>
15
- <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-value str">'w'</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
16
- <span class="ruby-identifier">f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">aContent</span>
17
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 324</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span> <span class="ruby-identifier">aPath</span>
15
+ <span class="ruby-identifier">pathFid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">aPath</span>)
16
+ <span class="ruby-identifier">remove_fid</span> <span class="ruby-identifier">pathFid</span> <span class="ruby-comment cmt"># remove also does clunk</span>
18
17
  <span class="ruby-keyword kw">end</span></pre>
19
18
  </body>
20
19
  </html>
@@ -5,29 +5,14 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>create (Rumai::IXP::Agent)</title>
8
+ <title>remove_fid (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 291</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aMode</span> = <span class="ruby-value str">'rw'</span>, <span class="ruby-identifier">aPerm</span> = <span class="ruby-value">0644</span>
15
- <span class="ruby-identifier">prefix</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">aPath</span>)
16
- <span class="ruby-identifier">target</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">aPath</span>)
17
-
18
- <span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">aMode</span>)
19
-
20
- <span class="ruby-identifier">with_fid</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">prefixFid</span><span class="ruby-operator">|</span>
21
- <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">prefixFid</span>, <span class="ruby-identifier">prefix</span>
22
-
23
- <span class="ruby-comment cmt"># create the file</span>
24
- <span class="ruby-identifier">talk</span> <span class="ruby-constant">Tcreate</span>.<span class="ruby-identifier">new</span>(
25
- <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">prefixFid</span>,
26
- <span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">target</span>,
27
- <span class="ruby-identifier">:perm</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPerm</span>,
28
- <span class="ruby-identifier">:mode</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mode</span>
29
- )
30
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 331</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_fid</span> <span class="ruby-identifier">aPathFid</span>
15
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Tremove</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPathFid</span>)
31
16
  <span class="ruby-keyword kw">end</span></pre>
32
17
  </body>
33
18
  </html>
@@ -5,15 +5,17 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>remove (Rumai::IXP::Agent)</title>
8
+ <title>stat (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 311</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span> <span class="ruby-identifier">aPath</span>
15
- <span class="ruby-identifier">pathFid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">aPath</span>)
16
- <span class="ruby-identifier">remove_fid</span> <span class="ruby-identifier">pathFid</span> <span class="ruby-comment cmt"># remove also does clunk</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 336</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stat</span> <span class="ruby-identifier">aPath</span>
15
+ <span class="ruby-identifier">with_fid</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pathFid</span><span class="ruby-operator">|</span>
16
+ <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">pathFid</span>, <span class="ruby-identifier">aPath</span>
17
+ <span class="ruby-identifier">stat_fid</span> <span class="ruby-identifier">pathFid</span>
18
+ <span class="ruby-keyword kw">end</span>
17
19
  <span class="ruby-keyword kw">end</span></pre>
18
20
  </body>
19
21
  </html>
@@ -5,14 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>remove_fid (Rumai::IXP::Agent)</title>
8
+ <title>stat_fid (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 318</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_fid</span> <span class="ruby-identifier">aPathFid</span>
15
- <span class="ruby-identifier">talk</span> <span class="ruby-constant">Tremove</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPathFid</span>)
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 344</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stat_fid</span> <span class="ruby-identifier">aPathFid</span>
15
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">Tstat</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPathFid</span>)
16
+ <span class="ruby-identifier">rsp</span> = <span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
17
+ <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">stat</span>
16
18
  <span class="ruby-keyword kw">end</span></pre>
17
19
  </body>
18
20
  </html>
@@ -5,17 +5,16 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>stat (Rumai::IXP::Agent)</title>
8
+ <title>walk (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 323</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stat</span> <span class="ruby-identifier">aPath</span>
15
- <span class="ruby-identifier">with_fid</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pathFid</span><span class="ruby-operator">|</span>
16
- <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">pathFid</span>, <span class="ruby-identifier">aPath</span>
17
- <span class="ruby-identifier">stat_fid</span> <span class="ruby-identifier">pathFid</span>
18
- <span class="ruby-keyword kw">end</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 351</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">walk</span> <span class="ruby-identifier">aPath</span>
15
+ <span class="ruby-identifier">fid</span> = <span class="ruby-ivar">@fidPool</span>.<span class="ruby-identifier">obtain</span>
16
+ <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">fid</span>, <span class="ruby-identifier">aPath</span>
17
+ <span class="ruby-identifier">fid</span>
19
18
  <span class="ruby-keyword kw">end</span></pre>
20
19
  </body>
21
20
  </html>
@@ -5,16 +5,18 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>stat_fid (Rumai::IXP::Agent)</title>
8
+ <title>walk_fid (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 331</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stat_fid</span> <span class="ruby-identifier">aPathFid</span>
15
- <span class="ruby-identifier">req</span> = <span class="ruby-constant">Tstat</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPathFid</span>)
16
- <span class="ruby-identifier">rsp</span> = <span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
17
- <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">stat</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 358</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">aPathFid</span>, <span class="ruby-identifier">aPath</span>
15
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Twalk</span>.<span class="ruby-identifier">new</span>(
16
+ <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@rootFid</span>,
17
+ <span class="ruby-identifier">:newfid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPathFid</span>,
18
+ <span class="ruby-identifier">:wname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPath</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">%r{/+}</span>).<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">empty?</span> }
19
+ )
18
20
  <span class="ruby-keyword kw">end</span></pre>
19
21
  </body>
20
22
  </html>
@@ -5,16 +5,19 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>walk (Rumai::IXP::Agent)</title>
8
+ <title>attach (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 338</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">walk</span> <span class="ruby-identifier">aPath</span>
15
- <span class="ruby-identifier">fid</span> = <span class="ruby-ivar">@fidPool</span>.<span class="ruby-identifier">obtain</span>
16
- <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">fid</span>, <span class="ruby-identifier">aPath</span>
17
- <span class="ruby-identifier">fid</span>
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 367</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attach</span> <span class="ruby-identifier">aRootFid</span>, <span class="ruby-identifier">aAuthFid</span> = <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOFID</span>, <span class="ruby-identifier">aAuthName</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'USER'</span>]
15
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Tattach</span>.<span class="ruby-identifier">new</span>(
16
+ <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aRootFid</span>,
17
+ <span class="ruby-identifier">:afid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aAuthFid</span>,
18
+ <span class="ruby-identifier">:uname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'USER'</span>],
19
+ <span class="ruby-identifier">:aname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aAuthName</span>
20
+ )
18
21
  <span class="ruby-keyword kw">end</span></pre>
19
22
  </body>
20
23
  </html>
@@ -5,18 +5,15 @@
5
5
 
6
6
  <html>
7
7
  <head>
8
- <title>walk_fid (Rumai::IXP::Agent)</title>
8
+ <title>clunk (Rumai::IXP::Agent)</title>
9
9
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
10
  <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
11
11
  </head>
12
12
  <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 345</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">aPathFid</span>, <span class="ruby-identifier">aPath</span>
15
- <span class="ruby-identifier">talk</span> <span class="ruby-constant">Twalk</span>.<span class="ruby-identifier">new</span>(
16
- <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@rootFid</span>,
17
- <span class="ruby-identifier">:newfid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPathFid</span>,
18
- <span class="ruby-identifier">:wname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aPath</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">%r{/+}</span>).<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">empty?</span> }
19
- )
13
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 377</span>
14
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clunk</span> <span class="ruby-identifier">aFid</span>
15
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Tclunk</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">aFid</span>)
16
+ <span class="ruby-ivar">@fidPool</span>.<span class="ruby-identifier">release</span> <span class="ruby-identifier">aFid</span>
20
17
  <span class="ruby-keyword kw">end</span></pre>
21
18
  </body>
22
19
  </html>
@@ -82,7 +82,8 @@
82
82
 
83
83
  <div id="description">
84
84
  <p>
85
- Encapsulates I/O access over a file handle (fid).
85
+ Encapsulates I/O access over a file handle (fid). NOTE that this class is
86
+ NOT thread-safe.
86
87
  </p>
87
88
 
88
89
  </div>
@@ -94,12 +95,13 @@ Encapsulates I/O access over a file handle (fid).
94
95
  <h3 class="section-bar">Methods</h3>
95
96
 
96
97
  <div class="name-list">
97
- <a href="#M000067">&lt;&lt;</a>&nbsp;&nbsp;
98
- <a href="#M000063">close</a>&nbsp;&nbsp;
99
- <a href="#M000062">new</a>&nbsp;&nbsp;
98
+ <a href="#M000066">&lt;&lt;</a>&nbsp;&nbsp;
99
+ <a href="#M000062">close</a>&nbsp;&nbsp;
100
+ <a href="#M000063">closed?</a>&nbsp;&nbsp;
101
+ <a href="#M000060">new</a>&nbsp;&nbsp;
100
102
  <a href="#M000064">read</a>&nbsp;&nbsp;
101
- <a href="#M000065">read_partial</a>&nbsp;&nbsp;
102
- <a href="#M000066">write</a>&nbsp;&nbsp;
103
+ <a href="#M000061">rewind</a>&nbsp;&nbsp;
104
+ <a href="#M000065">write</a>&nbsp;&nbsp;
103
105
  </div>
104
106
  </div>
105
107
 
@@ -112,6 +114,24 @@ Encapsulates I/O access over a file handle (fid).
112
114
 
113
115
 
114
116
 
117
+ <div id="aliases-list">
118
+ <h3 class="section-bar">External Aliases</h3>
119
+
120
+ <div class="name-list">
121
+ <table summary="aliases">
122
+ <tr class="top-aligned-row context-row">
123
+ <td class="context-item-name">eof</td>
124
+ <td>-&gt;</td>
125
+ <td class="context-item-value">eof?</td>
126
+ </tr>
127
+ <tr class="top-aligned-row context-row">
128
+ <td class="context-item-name">pos</td>
129
+ <td>-&gt;</td>
130
+ <td class="context-item-value">tell</td>
131
+ </tr>
132
+ </table>
133
+ </div>
134
+ </div>
115
135
 
116
136
 
117
137
  <div id="attribute-list">
@@ -119,11 +139,26 @@ Encapsulates I/O access over a file handle (fid).
119
139
 
120
140
  <div class="name-list">
121
141
  <table>
142
+ <tr class="top-aligned-row context-row">
143
+ <td class="context-item-name">eof</td>
144
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
145
+ <td class="context-item-desc"></td>
146
+ </tr>
122
147
  <tr class="top-aligned-row context-row">
123
148
  <td class="context-item-name">fid</td>
124
149
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
125
150
  <td class="context-item-desc"></td>
126
151
  </tr>
152
+ <tr class="top-aligned-row context-row">
153
+ <td class="context-item-name">pos</td>
154
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
155
+ <td class="context-item-desc"></td>
156
+ </tr>
157
+ <tr class="top-aligned-row context-row">
158
+ <td class="context-item-name">stat</td>
159
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
160
+ <td class="context-item-desc"></td>
161
+ </tr>
127
162
  </table>
128
163
  </div>
129
164
  </div>
@@ -134,12 +169,12 @@ Encapsulates I/O access over a file handle (fid).
134
169
  <div id="methods">
135
170
  <h3 class="section-bar">Public Class methods</h3>
136
171
 
137
- <div id="method-M000062" class="method-detail">
138
- <a name="M000062"></a>
172
+ <div id="method-M000060" class="method-detail">
173
+ <a name="M000060"></a>
139
174
 
140
175
  <div class="method-heading">
141
- <a href="FidStream.src/M000062.html" target="Code" class="method-signature"
142
- onclick="popupCode('FidStream.src/M000062.html');return false;">
176
+ <a href="FidStream.src/M000060.html" target="Code" class="method-signature"
177
+ onclick="popupCode('FidStream.src/M000060.html');return false;">
143
178
  <span class="method-name">new</span><span class="method-args">(aAgent, aPathFid, aMessageSize)</span>
144
179
  </a>
145
180
  </div>
@@ -150,8 +185,8 @@ Encapsulates I/O access over a file handle (fid).
150
185
 
151
186
  <h3 class="section-bar">Public Instance methods</h3>
152
187
 
153
- <div id="method-M000067" class="method-detail">
154
- <a name="M000067"></a>
188
+ <div id="method-M000066" class="method-detail">
189
+ <a name="M000066"></a>
155
190
 
156
191
  <div class="method-heading">
157
192
  <span class="method-name">&lt;&lt;</span><span class="method-args">(aContent)</span>
@@ -159,7 +194,24 @@ Encapsulates I/O access over a file handle (fid).
159
194
 
160
195
  <div class="method-description">
161
196
  <p>
162
- Alias for <a href="FidStream.html#M000066">write</a>
197
+ Alias for <a href="FidStream.html#M000065">write</a>
198
+ </p>
199
+ </div>
200
+ </div>
201
+
202
+ <div id="method-M000062" class="method-detail">
203
+ <a name="M000062"></a>
204
+
205
+ <div class="method-heading">
206
+ <a href="FidStream.src/M000062.html" target="Code" class="method-signature"
207
+ onclick="popupCode('FidStream.src/M000062.html');return false;">
208
+ <span class="method-name">close</span><span class="method-args">()</span>
209
+ </a>
210
+ </div>
211
+
212
+ <div class="method-description">
213
+ <p>
214
+ Closes this stream.
163
215
  </p>
164
216
  </div>
165
217
  </div>
@@ -170,13 +222,13 @@ Alias for <a href="FidStream.html#M000066">write</a>
170
222
  <div class="method-heading">
171
223
  <a href="FidStream.src/M000063.html" target="Code" class="method-signature"
172
224
  onclick="popupCode('FidStream.src/M000063.html');return false;">
173
- <span class="method-name">close</span><span class="method-args">()</span>
225
+ <span class="method-name">closed?</span><span class="method-args">()</span>
174
226
  </a>
175
227
  </div>
176
228
 
177
229
  <div class="method-description">
178
230
  <p>
179
- Closes this stream.
231
+ Returns true if this stream is closed.
180
232
  </p>
181
233
  </div>
182
234
  </div>
@@ -187,54 +239,60 @@ Closes this stream.
187
239
  <div class="method-heading">
188
240
  <a href="FidStream.src/M000064.html" target="Code" class="method-signature"
189
241
  onclick="popupCode('FidStream.src/M000064.html');return false;">
190
- <span class="method-name">read</span><span class="method-args">()</span>
242
+ <span class="method-name">read</span><span class="method-args">(aPartial = false)</span>
191
243
  </a>
192
244
  </div>
193
245
 
194
246
  <div class="method-description">
195
247
  <p>
196
- Returns the entire content of this stream. If this stream corresponds to a
197
- directory, then an Array of <a href="../Stat.html">Stat</a> (one for each
198
- file in the directory) will be returned.
248
+ Reads some data from this stream at the current position.
249
+ </p>
250
+ <table>
251
+ <tr><td valign="top">aPartial:</td><td>When false, the entire content of this stream is <a
252
+ href="FidStream.html#M000064">read</a> and returned. When true, the maximum
253
+ amount of content that can fit inside a single 9P2000 message is <a
254
+ href="FidStream.html#M000064">read</a> and returned.
255
+
256
+ </td></tr>
257
+ </table>
258
+ <p>
259
+ If this stream corresponds to a directory, then an Array of <a
260
+ href="../Stat.html">Stat</a> (one for each file in the directory) will be
261
+ returned.
199
262
  </p>
200
263
  </div>
201
264
  </div>
202
265
 
203
- <div id="method-M000065" class="method-detail">
204
- <a name="M000065"></a>
266
+ <div id="method-M000061" class="method-detail">
267
+ <a name="M000061"></a>
205
268
 
206
269
  <div class="method-heading">
207
- <a href="FidStream.src/M000065.html" target="Code" class="method-signature"
208
- onclick="popupCode('FidStream.src/M000065.html');return false;">
209
- <span class="method-name">read_partial</span><span class="method-args">(aOffset = 0)</span>
270
+ <a href="FidStream.src/M000061.html" target="Code" class="method-signature"
271
+ onclick="popupCode('FidStream.src/M000061.html');return false;">
272
+ <span class="method-name">rewind</span><span class="method-args">()</span>
210
273
  </a>
211
274
  </div>
212
275
 
213
276
  <div class="method-description">
214
277
  <p>
215
- Returns the maximum amount of content that can fit in one 9P2000 message,
216
- starting from the given offset.
217
- </p>
218
- <p>
219
- The end of file is reached when the returned content string is empty (has
220
- zero length).
278
+ Rewinds the stream to the beginning.
221
279
  </p>
222
280
  </div>
223
281
  </div>
224
282
 
225
- <div id="method-M000066" class="method-detail">
226
- <a name="M000066"></a>
283
+ <div id="method-M000065" class="method-detail">
284
+ <a name="M000065"></a>
227
285
 
228
286
  <div class="method-heading">
229
- <a href="FidStream.src/M000066.html" target="Code" class="method-signature"
230
- onclick="popupCode('FidStream.src/M000066.html');return false;">
287
+ <a href="FidStream.src/M000065.html" target="Code" class="method-signature"
288
+ onclick="popupCode('FidStream.src/M000065.html');return false;">
231
289
  <span class="method-name">write</span><span class="method-args">(aContent)</span>
232
290
  </a>
233
291
  </div>
234
292
 
235
293
  <div class="method-description">
236
294
  <p>
237
- Writes the given content to the beginning of this stream.
295
+ Writes the given content at the current position in this stream.
238
296
  </p>
239
297
  </div>
240
298
  </div>