rumai 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) hide show
  1. data/LICENSE +13 -23
  2. data/Rakefile +8 -58
  3. data/bin/rumai +21 -22
  4. data/doc/api/IO.html +53 -0
  5. data/doc/api/Integer.html +102 -0
  6. data/doc/api/Object.html +23 -0
  7. data/doc/api/Rumai.html +1218 -0
  8. data/doc/api/Rumai/Area.html +1088 -0
  9. data/doc/api/Rumai/Chain.html +230 -0
  10. data/doc/api/Rumai/Client.html +1264 -0
  11. data/doc/api/Rumai/ClientContainer.html +227 -0
  12. data/doc/api/Rumai/ExportInstMethods.html +115 -0
  13. data/doc/api/Rumai/IXP.html +23 -0
  14. data/doc/api/Rumai/IXP/Agent.html +1222 -0
  15. data/doc/api/Rumai/IXP/Agent/FidStream.html +602 -0
  16. data/doc/api/Rumai/IXP/Agent/RangedPool.html +263 -0
  17. data/doc/api/Rumai/IXP/Error.html +32 -0
  18. data/doc/api/Rumai/IXP/Fcall.html +398 -0
  19. data/doc/api/Rumai/IXP/Qid.html +99 -0
  20. data/doc/api/Rumai/IXP/Rattach.html +71 -0
  21. data/doc/api/Rumai/IXP/Rauth.html +71 -0
  22. data/doc/api/Rumai/IXP/Rclunk.html +71 -0
  23. data/doc/api/Rumai/IXP/Rcreate.html +71 -0
  24. data/doc/api/Rumai/IXP/Rerror.html +71 -0
  25. data/doc/api/Rumai/IXP/Rflush.html +71 -0
  26. data/doc/api/Rumai/IXP/Ropen.html +71 -0
  27. data/doc/api/Rumai/IXP/Rread.html +71 -0
  28. data/doc/api/Rumai/IXP/Rremove.html +71 -0
  29. data/doc/api/Rumai/IXP/Rstat.html +71 -0
  30. data/doc/api/Rumai/IXP/Rversion.html +71 -0
  31. data/doc/api/Rumai/IXP/Rwalk.html +71 -0
  32. data/doc/api/Rumai/IXP/Rwrite.html +71 -0
  33. data/doc/api/Rumai/IXP/Rwstat.html +71 -0
  34. data/doc/api/Rumai/IXP/Stat.html +188 -0
  35. data/doc/api/Rumai/IXP/Stream.html +112 -0
  36. data/doc/api/Rumai/IXP/Struct.html +348 -0
  37. data/doc/api/Rumai/IXP/Struct/ClassField.html +177 -0
  38. data/doc/api/Rumai/IXP/Struct/Field.html +549 -0
  39. data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +175 -0
  40. data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +95 -0
  41. data/doc/api/Rumai/IXP/Struct/Integer8Field.html +181 -0
  42. data/doc/api/Rumai/IXP/Struct/StringField.html +128 -0
  43. data/doc/api/Rumai/IXP/Tattach.html +71 -0
  44. data/doc/api/Rumai/IXP/Tauth.html +71 -0
  45. data/doc/api/Rumai/IXP/Tclunk.html +71 -0
  46. data/doc/api/Rumai/IXP/Tcreate.html +71 -0
  47. data/doc/api/Rumai/IXP/Terror.html +156 -0
  48. data/doc/api/Rumai/IXP/Tflush.html +71 -0
  49. data/doc/api/Rumai/IXP/Topen.html +113 -0
  50. data/doc/api/Rumai/IXP/Tread.html +71 -0
  51. data/doc/api/Rumai/IXP/Tremove.html +71 -0
  52. data/doc/api/Rumai/IXP/Tstat.html +71 -0
  53. data/doc/api/Rumai/IXP/Tversion.html +83 -0
  54. data/doc/api/Rumai/IXP/Twalk.html +71 -0
  55. data/doc/api/Rumai/IXP/Twrite.html +71 -0
  56. data/doc/api/Rumai/IXP/Twstat.html +71 -0
  57. data/doc/api/Rumai/Node.html +1139 -0
  58. data/doc/api/Rumai/View.html +1280 -0
  59. data/doc/api/Rumai/WidgetImpl.html +196 -0
  60. data/doc/api/Rumai/WidgetNode.html +184 -0
  61. data/doc/api/String.html +180 -0
  62. data/doc/api/StringIO.html +53 -0
  63. data/doc/api/Time.html +175 -0
  64. data/doc/api/all-methods.html +1436 -0
  65. data/doc/api/all-namespaces.html +140 -0
  66. data/doc/api/app.js +18 -0
  67. data/doc/api/index.html +16 -22
  68. data/doc/api/jquery.js +11 -0
  69. data/doc/api/readme.html +35 -0
  70. data/doc/api/style.css +68 -0
  71. data/doc/api/syntax_highlight.css +21 -0
  72. data/doc/history.erb +17 -0
  73. data/doc/index.erb +13 -0
  74. data/doc/index.xhtml +1235 -0
  75. data/doc/intro.erb +86 -0
  76. data/doc/setup.erb +55 -0
  77. data/doc/theory.erb +3 -0
  78. data/doc/usage.erb +285 -0
  79. data/lib/rumai.rb +10 -7
  80. data/lib/rumai/fs.rb +13 -15
  81. data/lib/rumai/ixp.rb +2 -7
  82. data/lib/rumai/ixp/message.rb +0 -3
  83. data/lib/rumai/ixp/transport.rb +1 -4
  84. data/lib/rumai/wm.rb +6 -6
  85. data/test/rumai/ixp/message.rb +249 -0
  86. metadata +104 -263
  87. data/README +0 -1
  88. data/doc/api/classes/IO.html +0 -120
  89. data/doc/api/classes/Integer.html +0 -142
  90. data/doc/api/classes/Integer.src/M000002.html +0 -18
  91. data/doc/api/classes/Object.html +0 -113
  92. data/doc/api/classes/Rumai.html +0 -530
  93. data/doc/api/classes/Rumai.src/M000007.html +0 -18
  94. data/doc/api/classes/Rumai.src/M000008.html +0 -18
  95. data/doc/api/classes/Rumai.src/M000009.html +0 -18
  96. data/doc/api/classes/Rumai.src/M000010.html +0 -18
  97. data/doc/api/classes/Rumai.src/M000011.html +0 -18
  98. data/doc/api/classes/Rumai.src/M000012.html +0 -18
  99. data/doc/api/classes/Rumai.src/M000013.html +0 -18
  100. data/doc/api/classes/Rumai.src/M000014.html +0 -20
  101. data/doc/api/classes/Rumai.src/M000015.html +0 -18
  102. data/doc/api/classes/Rumai.src/M000016.html +0 -18
  103. data/doc/api/classes/Rumai.src/M000017.html +0 -18
  104. data/doc/api/classes/Rumai.src/M000018.html +0 -18
  105. data/doc/api/classes/Rumai.src/M000019.html +0 -18
  106. data/doc/api/classes/Rumai.src/M000020.html +0 -18
  107. data/doc/api/classes/Rumai.src/M000021.html +0 -18
  108. data/doc/api/classes/Rumai.src/M000022.html +0 -18
  109. data/doc/api/classes/Rumai.src/M000023.html +0 -18
  110. data/doc/api/classes/Rumai.src/M000024.html +0 -18
  111. data/doc/api/classes/Rumai.src/M000025.html +0 -18
  112. data/doc/api/classes/Rumai.src/M000026.html +0 -18
  113. data/doc/api/classes/Rumai/Area.html +0 -461
  114. data/doc/api/classes/Rumai/Area.src/M000079.html +0 -19
  115. data/doc/api/classes/Rumai/Area.src/M000080.html +0 -18
  116. data/doc/api/classes/Rumai/Area.src/M000081.html +0 -18
  117. data/doc/api/classes/Rumai/Area.src/M000082.html +0 -18
  118. data/doc/api/classes/Rumai/Area.src/M000083.html +0 -18
  119. data/doc/api/classes/Rumai/Area.src/M000084.html +0 -18
  120. data/doc/api/classes/Rumai/Area.src/M000085.html +0 -18
  121. data/doc/api/classes/Rumai/Area.src/M000086.html +0 -18
  122. data/doc/api/classes/Rumai/Area.src/M000087.html +0 -18
  123. data/doc/api/classes/Rumai/Area.src/M000088.html +0 -18
  124. data/doc/api/classes/Rumai/Area.src/M000089.html +0 -18
  125. data/doc/api/classes/Rumai/Area.src/M000090.html +0 -22
  126. data/doc/api/classes/Rumai/Area.src/M000092.html +0 -23
  127. data/doc/api/classes/Rumai/Area.src/M000093.html +0 -28
  128. data/doc/api/classes/Rumai/Area.src/M000094.html +0 -18
  129. data/doc/api/classes/Rumai/Area.src/M000095.html +0 -31
  130. data/doc/api/classes/Rumai/Chain.html +0 -179
  131. data/doc/api/classes/Rumai/Chain.src/M000076.html +0 -18
  132. data/doc/api/classes/Rumai/Chain.src/M000077.html +0 -18
  133. data/doc/api/classes/Rumai/Chain.src/M000078.html +0 -18
  134. data/doc/api/classes/Rumai/Client.html +0 -481
  135. data/doc/api/classes/Rumai/Client.src/M000113.html +0 -18
  136. data/doc/api/classes/Rumai/Client.src/M000114.html +0 -18
  137. data/doc/api/classes/Rumai/Client.src/M000115.html +0 -18
  138. data/doc/api/classes/Rumai/Client.src/M000116.html +0 -39
  139. data/doc/api/classes/Rumai/Client.src/M000117.html +0 -19
  140. data/doc/api/classes/Rumai/Client.src/M000118.html +0 -19
  141. data/doc/api/classes/Rumai/Client.src/M000119.html +0 -18
  142. data/doc/api/classes/Rumai/Client.src/M000120.html +0 -18
  143. data/doc/api/classes/Rumai/Client.src/M000121.html +0 -18
  144. data/doc/api/classes/Rumai/Client.src/M000122.html +0 -18
  145. data/doc/api/classes/Rumai/Client.src/M000123.html +0 -19
  146. data/doc/api/classes/Rumai/Client.src/M000124.html +0 -20
  147. data/doc/api/classes/Rumai/Client.src/M000125.html +0 -20
  148. data/doc/api/classes/Rumai/Client.src/M000126.html +0 -22
  149. data/doc/api/classes/Rumai/Client.src/M000127.html +0 -18
  150. data/doc/api/classes/Rumai/Client.src/M000128.html +0 -20
  151. data/doc/api/classes/Rumai/Client.src/M000129.html +0 -18
  152. data/doc/api/classes/Rumai/Client.src/M000130.html +0 -22
  153. data/doc/api/classes/Rumai/ClientContainer.html +0 -180
  154. data/doc/api/classes/Rumai/ClientContainer.src/M000027.html +0 -18
  155. data/doc/api/classes/Rumai/ClientContainer.src/M000028.html +0 -18
  156. data/doc/api/classes/Rumai/ClientContainer.src/M000029.html +0 -18
  157. data/doc/api/classes/Rumai/ExportInstMethods.html +0 -119
  158. data/doc/api/classes/Rumai/IXP.html +0 -149
  159. data/doc/api/classes/Rumai/IXP/Agent.html +0 -447
  160. data/doc/api/classes/Rumai/IXP/Agent.src/M000044.html +0 -53
  161. data/doc/api/classes/Rumai/IXP/Agent.src/M000045.html +0 -36
  162. data/doc/api/classes/Rumai/IXP/Agent.src/M000046.html +0 -39
  163. data/doc/api/classes/Rumai/IXP/Agent.src/M000047.html +0 -20
  164. data/doc/api/classes/Rumai/IXP/Agent.src/M000048.html +0 -22
  165. data/doc/api/classes/Rumai/IXP/Agent.src/M000049.html +0 -20
  166. data/doc/api/classes/Rumai/IXP/Agent.src/M000050.html +0 -33
  167. data/doc/api/classes/Rumai/IXP/Agent.src/M000051.html +0 -19
  168. data/doc/api/classes/Rumai/IXP/Agent.src/M000052.html +0 -18
  169. data/doc/api/classes/Rumai/IXP/Agent.src/M000053.html +0 -21
  170. data/doc/api/classes/Rumai/IXP/Agent.src/M000054.html +0 -20
  171. data/doc/api/classes/Rumai/IXP/Agent.src/M000055.html +0 -20
  172. data/doc/api/classes/Rumai/IXP/Agent.src/M000056.html +0 -22
  173. data/doc/api/classes/Rumai/IXP/Agent.src/M000057.html +0 -23
  174. data/doc/api/classes/Rumai/IXP/Agent.src/M000058.html +0 -19
  175. data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +0 -312
  176. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000060.html +0 -23
  177. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000061.html +0 -19
  178. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000062.html +0 -22
  179. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000063.html +0 -18
  180. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000064.html +0 -45
  181. data/doc/api/classes/Rumai/IXP/Agent/FidStream.src/M000065.html +0 -36
  182. data/doc/api/classes/Rumai/IXP/Agent/MODES.html +0 -130
  183. data/doc/api/classes/Rumai/IXP/Agent/MODES.src/M000059.html +0 -22
  184. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +0 -203
  185. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000067.html +0 -22
  186. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000068.html +0 -36
  187. data/doc/api/classes/Rumai/IXP/Agent/RangedPool.src/M000069.html +0 -18
  188. data/doc/api/classes/Rumai/IXP/Error.html +0 -117
  189. data/doc/api/classes/Rumai/IXP/Fcall.html +0 -261
  190. data/doc/api/classes/Rumai/IXP/Fcall.src/M000070.html +0 -20
  191. data/doc/api/classes/Rumai/IXP/Fcall.src/M000071.html +0 -25
  192. data/doc/api/classes/Rumai/IXP/Fcall.src/M000072.html +0 -18
  193. data/doc/api/classes/Rumai/IXP/Fcall.src/M000073.html +0 -18
  194. data/doc/api/classes/Rumai/IXP/Qid.html +0 -184
  195. data/doc/api/classes/Rumai/IXP/Rattach.html +0 -119
  196. data/doc/api/classes/Rumai/IXP/Rauth.html +0 -119
  197. data/doc/api/classes/Rumai/IXP/Rclunk.html +0 -119
  198. data/doc/api/classes/Rumai/IXP/Rcreate.html +0 -119
  199. data/doc/api/classes/Rumai/IXP/Rerror.html +0 -119
  200. data/doc/api/classes/Rumai/IXP/Rflush.html +0 -119
  201. data/doc/api/classes/Rumai/IXP/Ropen.html +0 -119
  202. data/doc/api/classes/Rumai/IXP/Rread.html +0 -119
  203. data/doc/api/classes/Rumai/IXP/Rremove.html +0 -119
  204. data/doc/api/classes/Rumai/IXP/Rstat.html +0 -119
  205. data/doc/api/classes/Rumai/IXP/Rversion.html +0 -119
  206. data/doc/api/classes/Rumai/IXP/Rwalk.html +0 -119
  207. data/doc/api/classes/Rumai/IXP/Rwrite.html +0 -119
  208. data/doc/api/classes/Rumai/IXP/Rwstat.html +0 -119
  209. data/doc/api/classes/Rumai/IXP/Stat.html +0 -248
  210. data/doc/api/classes/Rumai/IXP/Stat.src/M000075.html +0 -18
  211. data/doc/api/classes/Rumai/IXP/Stream.html +0 -158
  212. data/doc/api/classes/Rumai/IXP/Stream.src/M000043.html +0 -18
  213. data/doc/api/classes/Rumai/IXP/Struct.html +0 -221
  214. data/doc/api/classes/Rumai/IXP/Struct.src/M000030.html +0 -19
  215. data/doc/api/classes/Rumai/IXP/Struct.src/M000031.html +0 -18
  216. data/doc/api/classes/Rumai/IXP/Struct.src/M000032.html +0 -20
  217. data/doc/api/classes/Rumai/IXP/Struct.src/M000033.html +0 -57
  218. data/doc/api/classes/Rumai/IXP/Struct/Field.html +0 -296
  219. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000034.html +0 -21
  220. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000035.html +0 -21
  221. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000036.html +0 -20
  222. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000037.html +0 -29
  223. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000038.html +0 -18
  224. data/doc/api/classes/Rumai/IXP/Struct/Field.src/M000039.html +0 -18
  225. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +0 -152
  226. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/M000041.html +0 -24
  227. data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.src/M000042.html +0 -25
  228. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +0 -137
  229. data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.src/M000040.html +0 -18
  230. data/doc/api/classes/Rumai/IXP/Tattach.html +0 -120
  231. data/doc/api/classes/Rumai/IXP/Tauth.html +0 -119
  232. data/doc/api/classes/Rumai/IXP/Tclunk.html +0 -119
  233. data/doc/api/classes/Rumai/IXP/Tcreate.html +0 -120
  234. data/doc/api/classes/Rumai/IXP/Terror.html +0 -145
  235. data/doc/api/classes/Rumai/IXP/Terror.src/M000074.html +0 -18
  236. data/doc/api/classes/Rumai/IXP/Tflush.html +0 -119
  237. data/doc/api/classes/Rumai/IXP/Topen.html +0 -193
  238. data/doc/api/classes/Rumai/IXP/Tread.html +0 -119
  239. data/doc/api/classes/Rumai/IXP/Tremove.html +0 -119
  240. data/doc/api/classes/Rumai/IXP/Tstat.html +0 -119
  241. data/doc/api/classes/Rumai/IXP/Tversion.html +0 -137
  242. data/doc/api/classes/Rumai/IXP/Twalk.html +0 -120
  243. data/doc/api/classes/Rumai/IXP/Twrite.html +0 -120
  244. data/doc/api/classes/Rumai/IXP/Twstat.html +0 -119
  245. data/doc/api/classes/Rumai/Node.html +0 -461
  246. data/doc/api/classes/Rumai/Node.src/M000096.html +0 -18
  247. data/doc/api/classes/Rumai/Node.src/M000097.html +0 -18
  248. data/doc/api/classes/Rumai/Node.src/M000098.html +0 -22
  249. data/doc/api/classes/Rumai/Node.src/M000099.html +0 -18
  250. data/doc/api/classes/Rumai/Node.src/M000100.html +0 -18
  251. data/doc/api/classes/Rumai/Node.src/M000101.html +0 -18
  252. data/doc/api/classes/Rumai/Node.src/M000102.html +0 -18
  253. data/doc/api/classes/Rumai/Node.src/M000103.html +0 -22
  254. data/doc/api/classes/Rumai/Node.src/M000104.html +0 -18
  255. data/doc/api/classes/Rumai/Node.src/M000105.html +0 -18
  256. data/doc/api/classes/Rumai/Node.src/M000106.html +0 -18
  257. data/doc/api/classes/Rumai/Node.src/M000107.html +0 -18
  258. data/doc/api/classes/Rumai/Node.src/M000108.html +0 -18
  259. data/doc/api/classes/Rumai/Node.src/M000109.html +0 -18
  260. data/doc/api/classes/Rumai/Node.src/M000110.html +0 -18
  261. data/doc/api/classes/Rumai/Node.src/M000111.html +0 -20
  262. data/doc/api/classes/Rumai/Node.src/M000112.html +0 -27
  263. data/doc/api/classes/Rumai/View.html +0 -436
  264. data/doc/api/classes/Rumai/View.src/M000131.html +0 -18
  265. data/doc/api/classes/Rumai/View.src/M000132.html +0 -18
  266. data/doc/api/classes/Rumai/View.src/M000133.html +0 -18
  267. data/doc/api/classes/Rumai/View.src/M000134.html +0 -18
  268. data/doc/api/classes/Rumai/View.src/M000135.html +0 -18
  269. data/doc/api/classes/Rumai/View.src/M000136.html +0 -18
  270. data/doc/api/classes/Rumai/View.src/M000137.html +0 -18
  271. data/doc/api/classes/Rumai/View.src/M000138.html +0 -28
  272. data/doc/api/classes/Rumai/View.src/M000139.html +0 -18
  273. data/doc/api/classes/Rumai/View.src/M000140.html +0 -18
  274. data/doc/api/classes/Rumai/View.src/M000141.html +0 -18
  275. data/doc/api/classes/Rumai/View.src/M000142.html +0 -18
  276. data/doc/api/classes/Rumai/View.src/M000143.html +0 -29
  277. data/doc/api/classes/Rumai/View.src/M000144.html +0 -20
  278. data/doc/api/classes/Rumai/View.src/M000145.html +0 -33
  279. data/doc/api/classes/Rumai/View.src/M000146.html +0 -50
  280. data/doc/api/classes/String.html +0 -169
  281. data/doc/api/classes/String.src/M000005.html +0 -18
  282. data/doc/api/classes/String.src/M000006.html +0 -18
  283. data/doc/api/classes/StringIO.html +0 -120
  284. data/doc/api/classes/Time.html +0 -163
  285. data/doc/api/classes/Time.src/M000003.html +0 -18
  286. data/doc/api/classes/Time.src/M000004.html +0 -18
  287. data/doc/api/created.rid +0 -1
  288. data/doc/api/files/lib/rumai/fs_rb.html +0 -115
  289. data/doc/api/files/lib/rumai/ixp/message_rb.html +0 -120
  290. data/doc/api/files/lib/rumai/ixp/message_spec_rb.html +0 -175
  291. data/doc/api/files/lib/rumai/ixp/message_spec_rb.src/M000001.html +0 -37
  292. data/doc/api/files/lib/rumai/ixp/transport_rb.html +0 -115
  293. data/doc/api/files/lib/rumai/ixp_rb.html +0 -116
  294. data/doc/api/files/lib/rumai/nfo_rb.html +0 -107
  295. data/doc/api/files/lib/rumai/wm_rb.html +0 -115
  296. data/doc/api/files/lib/rumai_rb.html +0 -115
  297. data/doc/api/fr_class_index.html +0 -82
  298. data/doc/api/fr_file_index.html +0 -34
  299. data/doc/api/fr_method_index.html +0 -172
  300. data/doc/api/rdoc-style.css +0 -208
  301. data/doc/guide.erb +0 -390
  302. data/doc/guide.html +0 -2043
  303. data/lib/rumai/ixp/message_spec.rb +0 -247
  304. data/lib/rumai/nfo.rb +0 -24
@@ -0,0 +1,227 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="../syntax_highlight.css" type="text/css" charset="utf-8" />
8
+
9
+ <script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="../app.js" type="text/javascript" charset="utf-8"></script>
11
+ <title>Module: Rumai::ClientContainer</title>
12
+ </head>
13
+ <body>
14
+ <div id="content">
15
+ <div class="section module Rumai_ClientContainer">
16
+ <h1 class="title">Module: Rumai::ClientContainer</h1>
17
+ <div class="section docstring">
18
+ <p>
19
+ NOTE: Inheritors should override the &#8216;client_ids&#8217; method.
20
+ </p>
21
+
22
+ </div><div class="section constants">
23
+
24
+ </div> <div class="section visibilitygroup public">
25
+ <h1>Public Visibility</h1>
26
+ <div class="section methodsummary instance public">
27
+ <h1>Public Instance Method Summary</h1>
28
+ <table class="summary">
29
+
30
+ <tr>
31
+ <th class="signature">
32
+ <span class='name'><a href="#client_ids-instance_method" title="#client_ids">#client_ids</a></span><span class='args'></span>
33
+ <span class='block'></span>
34
+
35
+ </th>
36
+ <td class="docstring">
37
+ <p>
38
+ Returns the IDs of the clients in this container.
39
+ </p>
40
+
41
+
42
+ </td>
43
+ </tr>
44
+
45
+ <tr>
46
+ <th class="signature">
47
+ <span class='name'><a href="#clients-instance_method" title="#clients">#clients</a></span><span class='args'></span>
48
+ <span class='block'></span>
49
+
50
+ </th>
51
+ <td class="docstring">
52
+ <p>
53
+ Returns the clients contained in this container.
54
+ </p>
55
+
56
+
57
+ </td>
58
+ </tr>
59
+
60
+ <tr>
61
+ <th class="signature">
62
+ <span class='name'><a href="#grouping-instance_method" title="#grouping">#grouping</a></span><span class='args'></span>
63
+ <span class='block'></span>
64
+
65
+ </th>
66
+ <td class="docstring">
67
+ <p>
68
+ Returns all grouped clients in this container.
69
+ </p>
70
+
71
+
72
+ </td>
73
+ </tr>
74
+
75
+ </table>
76
+ </div>
77
+ <div class="section methoddetails instance public">
78
+ <h1>Public Instance Method Details</h1>
79
+
80
+ <div class="method">
81
+ <div class="method_header">
82
+ <h3>client_ids</h3>
83
+ </div><div id="client_ids-instance_method" class="section method">
84
+ <div class="details_title">
85
+ <div class='section methodsignature'>
86
+ <tt class='def'>
87
+ <span class='visibility'>public</span>
88
+ <span class='return_types'></span>
89
+ <span class='name'>client_ids</span><span class='args'></span>
90
+ <span class='block'></span>
91
+ </tt>
92
+ </div>
93
+
94
+ </div><div class="section docstring">
95
+ <p>
96
+ Returns the IDs of the clients in this container.
97
+ </p>
98
+
99
+ </div><div class="section source">
100
+ <span>[<a class="source_link" href="#">View source</a>]</span>
101
+ <div class="source_code">
102
+ <table>
103
+ <tr>
104
+ <td>
105
+ <pre class="lines">
106
+
107
+
108
+ 324
109
+ 325
110
+ 326</pre>
111
+ </td>
112
+ <td>
113
+ <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 324</span>
114
+
115
+ <span class='def def kw'>def</span> <span class='client_ids identifier id'>client_ids</span>
116
+ <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
117
+ <span class='end end kw'>end</span>
118
+ </pre>
119
+ </td>
120
+ </tr>
121
+ </table>
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </div>
126
+
127
+ <div class="method">
128
+ <div class="method_header">
129
+ <h3>clients</h3>
130
+ </div><div id="clients-instance_method" class="section method">
131
+ <div class="details_title">
132
+ <div class='section methodsignature'>
133
+ <tt class='def'>
134
+ <span class='visibility'>public</span>
135
+ <span class='return_types'></span>
136
+ <span class='name'>clients</span><span class='args'></span>
137
+ <span class='block'></span>
138
+ </tt>
139
+ </div>
140
+
141
+ </div><div class="section docstring">
142
+ <p>
143
+ Returns the clients contained in this container.
144
+ </p>
145
+
146
+ </div><div class="section source">
147
+ <span>[<a class="source_link" href="#">View source</a>]</span>
148
+ <div class="source_code">
149
+ <table>
150
+ <tr>
151
+ <td>
152
+ <pre class="lines">
153
+
154
+
155
+ 329
156
+ 330
157
+ 331</pre>
158
+ </td>
159
+ <td>
160
+ <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 329</span>
161
+
162
+ <span class='def def kw'>def</span> <span class='clients identifier id'>clients</span>
163
+ <span class='client_ids identifier id'>client_ids</span><span class='dot token'>.</span><span class='map! fid id'>map!</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='i identifier id'>i</span><span class='bitor op'>|</span> <span class='Client constant id'>Client</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='i identifier id'>i</span><span class='rbrace token'>}</span>
164
+ <span class='end end kw'>end</span>
165
+ </pre>
166
+ </td>
167
+ </tr>
168
+ </table>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </div>
173
+
174
+ <div class="method">
175
+ <div class="method_header">
176
+ <h3>grouping</h3>
177
+ </div><div id="grouping-instance_method" class="section method">
178
+ <div class="details_title">
179
+ <div class='section methodsignature'>
180
+ <tt class='def'>
181
+ <span class='visibility'>public</span>
182
+ <span class='return_types'></span>
183
+ <span class='name'>grouping</span><span class='args'></span>
184
+ <span class='block'></span>
185
+ </tt>
186
+ </div>
187
+
188
+ </div><div class="section docstring">
189
+ <p>
190
+ Returns all grouped clients in this container.
191
+ </p>
192
+
193
+ </div><div class="section source">
194
+ <span>[<a class="source_link" href="#">View source</a>]</span>
195
+ <div class="source_code">
196
+ <table>
197
+ <tr>
198
+ <td>
199
+ <pre class="lines">
200
+
201
+
202
+ 343
203
+ 344
204
+ 345</pre>
205
+ </td>
206
+ <td>
207
+ <pre class="code"><span class="info file"># File 'lib/rumai/wm.rb', line 343</span>
208
+
209
+ <span class='def def kw'>def</span> <span class='grouping identifier id'>grouping</span>
210
+ <span class='clients identifier id'>clients</span><span class='dot token'>.</span><span class='select identifier id'>select</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='c identifier id'>c</span><span class='bitor op'>|</span> <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='group? fid id'>group?</span> <span class='rbrace token'>}</span>
211
+ <span class='end end kw'>end</span>
212
+ </pre>
213
+ </td>
214
+ </tr>
215
+ </table>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </div>
220
+
221
+ </div>
222
+ </div>
223
+
224
+ </div>
225
+ </div>
226
+ </body>
227
+ </html>
@@ -0,0 +1,115 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="../syntax_highlight.css" type="text/css" charset="utf-8" />
8
+
9
+ <script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="../app.js" type="text/javascript" charset="utf-8"></script>
11
+ <title>Module: Rumai::ExportInstMethods</title>
12
+ </head>
13
+ <body>
14
+ <div id="content">
15
+ <div class="section module Rumai_ExportInstMethods">
16
+ <h1 class="title">Module: Rumai::ExportInstMethods</h1>
17
+ <div class="section docstring">
18
+ <p>
19
+ Makes instance methods accessible through class methods. This is done to
20
+ emulate the File class:
21
+ </p>
22
+ <pre class="code">
23
+ <span class='File constant id'>File</span><span class='dot token'>.</span><span class='exist? fid id'>exist?</span> <span class='string val'>&quot;foo&quot;</span>
24
+ <span class='File constant id'>File</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>&quot;foo&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='exist? fid id'>exist?</span>
25
+ </pre>
26
+ <p>
27
+ Both of the above expressions are equivalent.
28
+ </p>
29
+
30
+ </div><div class="section constants">
31
+
32
+ </div> <div class="section visibilitygroup public">
33
+ <h1>Public Visibility</h1>
34
+ <div class="section methodsummary class public">
35
+ <h1>Public Class Method Summary</h1>
36
+ <table class="summary">
37
+
38
+ <tr>
39
+ <th class="signature">
40
+ <span class='name'><a href="#extended-class_method" title="extended">extended</a></span><span class='args'>(aTarget)</span>
41
+ <span class='block'></span>
42
+
43
+ </th>
44
+ <td class="docstring">
45
+
46
+
47
+ </td>
48
+ </tr>
49
+
50
+ </table>
51
+ </div>
52
+ <div class="section methoddetails class public">
53
+ <h1>Public Class Method Details</h1>
54
+
55
+ <div class="method">
56
+ <div class="method_header">
57
+ <h3>extended</h3>
58
+ </div><div id="extended-class_method" class="section method">
59
+ <div class="details_title">
60
+ <div class='section methodsignature'>
61
+ <tt class='def'>
62
+ <span class='visibility'>public</span>
63
+ <span class='return_types'></span>
64
+ <span class='name'>extended</span><span class='args'>(aTarget)</span>
65
+ <span class='block'></span>
66
+ </tt>
67
+ </div>
68
+
69
+ </div><div class="section source">
70
+ <span>[<a class="source_link" href="#">View source</a>]</span>
71
+ <div class="source_code">
72
+ <table>
73
+ <tr>
74
+ <td>
75
+ <pre class="lines">
76
+
77
+
78
+ 152
79
+ 153
80
+ 154
81
+ 155
82
+ 156
83
+ 157
84
+ 158
85
+ 159
86
+ 160</pre>
87
+ </td>
88
+ <td>
89
+ <pre class="code"><span class="info file"># File 'lib/rumai/fs.rb', line 152</span>
90
+
91
+ <span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='extended identifier id'>extended</span> <span class='aTarget identifier id'>aTarget</span>
92
+ <span class='aTarget identifier id'>aTarget</span><span class='dot token'>.</span><span class='instance_methods identifier id'>instance_methods</span><span class='lparen token'>(</span><span class='false false kw'>false</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='meth identifier id'>meth</span><span class='bitor op'>|</span>
93
+ <span class='lparen token'>(</span><span class='class class kw'>class</span> <span class='lshft op'>&lt;&lt;</span> <span class='aTarget identifier id'>aTarget</span><span class='semicolon token'>;</span> <span class='self self kw'>self</span><span class='semicolon token'>;</span> <span class='end end kw'>end</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='instance_eval identifier id'>instance_eval</span> <span class='do do kw'>do</span>
94
+ <span class='define_method identifier id'>define_method</span> <span class='meth identifier id'>meth</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='path identifier id'>path</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span><span class='bitor op'>|</span>
95
+ <span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='path identifier id'>path</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='__send__ identifier id'>__send__</span><span class='lparen token'>(</span><span class='meth identifier id'>meth</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='args identifier id'>args</span><span class='rparen token'>)</span>
96
+ <span class='end end kw'>end</span>
97
+ <span class='end end kw'>end</span>
98
+ <span class='end end kw'>end</span>
99
+ <span class='end end kw'>end</span>
100
+ </pre>
101
+ </td>
102
+ </tr>
103
+ </table>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ </div>
108
+
109
+ </div>
110
+ </div>
111
+
112
+ </div>
113
+ </div>
114
+ </body>
115
+ </html>
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="../syntax_highlight.css" type="text/css" charset="utf-8" />
8
+
9
+ <script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="../app.js" type="text/javascript" charset="utf-8"></script>
11
+ <title>Module: Rumai::IXP</title>
12
+ </head>
13
+ <body>
14
+ <div id="content">
15
+ <div class="section module Rumai_IXP">
16
+ <h1 class="title">Module: Rumai::IXP</h1>
17
+ <div class="section constants">
18
+
19
+ </div>
20
+ </div>
21
+ </div>
22
+ </body>
23
+ </html>
@@ -0,0 +1,1222 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="../../style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="../../syntax_highlight.css" type="text/css" charset="utf-8" />
8
+
9
+ <script src="../../jquery.js" type="text/javascript" charset="utf-8"></script>
10
+ <script src="../../app.js" type="text/javascript" charset="utf-8"></script>
11
+ <title>Class: Rumai::IXP::Agent</title>
12
+ </head>
13
+ <body>
14
+ <div id="content">
15
+ <div class="section class Rumai_IXP_Agent">
16
+ <h1 class="title">Class: Rumai::IXP::Agent</h1>
17
+ <div class="section inheritance">
18
+ <ul>
19
+ <li><a href="../../Object.html" title="Object">Object</a></li><ul><li>Rumai::IXP::Agent</li>
20
+ </ul></ul>
21
+ </div><div class="section docstring">
22
+ <p>
23
+ A thread-safe proxy that multiplexes many threads onto a single 9P2000
24
+ connection.
25
+ </p>
26
+
27
+ </div><div class="section attributes">
28
+ <h1>Attributes</h1>
29
+
30
+
31
+ <div class="instance">
32
+ <h2>Instance Attributes</h2>
33
+ <table>
34
+
35
+ <tr>
36
+ <th class="name">msize</td>
37
+ <td class="readwrite">
38
+ [<span id='msize-instance_method'>R</span>W]
39
+ </td>
40
+ <td class="visibility">
41
+ public
42
+ </td>
43
+ <td class="docstring">
44
+ <p>
45
+ Returns the value of attribute <tt>msize</tt>.
46
+ </p>
47
+
48
+
49
+ </td>
50
+ </tr>
51
+
52
+ </table>
53
+ </div>
54
+
55
+ </div><div class="section constants">
56
+
57
+ </div><div class="section constructor">
58
+ <h1>Constructor Summary</h1>
59
+ <div id="initialize-instance_method" class="section method">
60
+ <div class="details_title">
61
+ <div class='section methodsignature'>
62
+ <tt class='def'>
63
+ <span class='visibility'>public</span>
64
+ <span class='return_types'></span>
65
+ <span class='name'>initialize</span><span class='args'>(aStream)</span>
66
+ <span class='block'></span>
67
+ </tt>
68
+ </div>
69
+
70
+ </div><div class="section source">
71
+ <span>[<a class="source_link" href="#">View source</a>]</span>
72
+ <div class="source_code">
73
+ <table>
74
+ <tr>
75
+ <td>
76
+ <pre class="lines">
77
+
78
+
79
+ 13
80
+ 14
81
+ 15
82
+ 16
83
+ 17
84
+ 18
85
+ 19
86
+ 20
87
+ 21
88
+ 22
89
+ 23
90
+ 24
91
+ 25
92
+ 26
93
+ 27
94
+ 28
95
+ 29
96
+ 30
97
+ 31
98
+ 32
99
+ 33
100
+ 34
101
+ 35
102
+ 36
103
+ 37
104
+ 38
105
+ 39
106
+ 40
107
+ 41
108
+ 42
109
+ 43
110
+ 44
111
+ 45
112
+ 46
113
+ 47
114
+ 48
115
+ 49
116
+ 50</pre>
117
+ </td>
118
+ <td>
119
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 13</span>
120
+
121
+ <span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span> <span class='aStream identifier id'>aStream</span>
122
+ <span class='@stream ivar id'>@stream</span> <span class='assign token'>=</span> <span class='aStream identifier id'>aStream</span>
123
+ <span class='@sendLock ivar id'>@sendLock</span> <span class='assign token'>=</span> <span class='Mutex constant id'>Mutex</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
124
+ <span class='@recvBays ivar id'>@recvBays</span> <span class='assign token'>=</span> <span class='Hash constant id'>Hash</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='h identifier id'>h</span><span class='comma token'>,</span><span class='k identifier id'>k</span><span class='bitor op'>|</span> <span class='h identifier id'>h</span><span class='lbrack token'>[</span><span class='k identifier id'>k</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='Queue constant id'>Queue</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='rbrace token'>}</span> <span class='comment val'># tag =&gt; Queue(message)</span>
125
+
126
+ <span class='comment val'># background thread which continuously receives</span>
127
+ <span class='comment val'># and dispatches messages from the 9P2000 server</span>
128
+ <span class='Thread constant id'>Thread</span><span class='dot token'>.</span><span class='new identifier id'>new</span> <span class='do do kw'>do</span>
129
+ <span class='while while kw'>while</span> <span class='true true kw'>true</span>
130
+ <span class='msg identifier id'>msg</span> <span class='assign token'>=</span> <span class='Fcall constant id'>Fcall</span><span class='dot token'>.</span><span class='from_9p identifier id'>from_9p</span> <span class='@stream ivar id'>@stream</span>
131
+ <span class='@recvBays ivar id'>@recvBays</span><span class='lbrack token'>[</span><span class='msg identifier id'>msg</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span><span class='rbrack token'>]</span> <span class='lshft op'>&lt;&lt;</span> <span class='msg identifier id'>msg</span>
132
+ <span class='end end kw'>end</span>
133
+ <span class='end end kw'>end</span><span class='dot token'>.</span><span class='priority identifier id'>priority</span> <span class='assign token'>=</span> <span class='integer val'>-1</span>
134
+
135
+ <span class='@tagPool ivar id'>@tagPool</span> <span class='assign token'>=</span> <span class='RangedPool constant id'>RangedPool</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='integer val'>0</span><span class='dot3 op'>...</span><span class='BYTE2_MASK constant id'>BYTE2_MASK</span><span class='rparen token'>)</span>
136
+ <span class='@fidPool ivar id'>@fidPool</span> <span class='assign token'>=</span> <span class='RangedPool constant id'>RangedPool</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='integer val'>0</span><span class='dot3 op'>...</span><span class='BYTE4_MASK constant id'>BYTE4_MASK</span><span class='rparen token'>)</span>
137
+
138
+ <span class='comment val'># establish connection with 9P2000 server</span>
139
+ <span class='req identifier id'>req</span> <span class='assign token'>=</span> <span class='Tversion constant id'>Tversion</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span>
140
+ <span class='symbol val'>:tag</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='Fcall constant id'>Fcall</span><span class='colon2 op'>::</span><span class='NOTAG constant id'>NOTAG</span><span class='comma token'>,</span>
141
+ <span class='symbol val'>:msize</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='Tversion constant id'>Tversion</span><span class='colon2 op'>::</span><span class='MSIZE constant id'>MSIZE</span><span class='comma token'>,</span>
142
+ <span class='symbol val'>:version</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='Tversion constant id'>Tversion</span><span class='colon2 op'>::</span><span class='VERSION constant id'>VERSION</span>
143
+ <span class='rparen token'>)</span>
144
+ <span class='rsp identifier id'>rsp</span> <span class='assign token'>=</span> <span class='talk identifier id'>talk</span><span class='lparen token'>(</span><span class='req identifier id'>req</span><span class='rparen token'>)</span>
145
+
146
+ <span class='unless unless kw'>unless</span> <span class='req identifier id'>req</span><span class='dot token'>.</span><span class='version identifier id'>version</span> <span class='eq op'>==</span> <span class='rsp identifier id'>rsp</span><span class='dot token'>.</span><span class='version identifier id'>version</span>
147
+ <span class='raise identifier id'>raise</span> <span class='Error constant id'>Error</span><span class='comma token'>,</span> <span class='dstring node'>&quot;protocol mismatch: self=#{req.version.inspect} server=#{rsp.version.inspect}&quot;</span>
148
+ <span class='end end kw'>end</span>
149
+
150
+ <span class='@msize ivar id'>@msize</span> <span class='assign token'>=</span> <span class='rsp identifier id'>rsp</span><span class='dot token'>.</span><span class='msize identifier id'>msize</span>
151
+
152
+ <span class='comment val'># authenticate the connection (not necessary for wmii)</span>
153
+ <span class='@authFid ivar id'>@authFid</span> <span class='assign token'>=</span> <span class='Fcall constant id'>Fcall</span><span class='colon2 op'>::</span><span class='NOFID constant id'>NOFID</span>
154
+
155
+ <span class='comment val'># attach to filesystem root</span>
156
+ <span class='@rootFid ivar id'>@rootFid</span> <span class='assign token'>=</span> <span class='@fidPool ivar id'>@fidPool</span><span class='dot token'>.</span><span class='obtain identifier id'>obtain</span>
157
+ <span class='attach identifier id'>attach</span> <span class='@rootFid ivar id'>@rootFid</span><span class='comma token'>,</span> <span class='@authFid ivar id'>@authFid</span>
158
+ <span class='end end kw'>end</span>
159
+ </pre>
160
+ </td>
161
+ </tr>
162
+ </table>
163
+ </div>
164
+ </div>
165
+ </div>
166
+ </div> <div class="section visibilitygroup public">
167
+ <h1>Public Visibility</h1>
168
+ <div class="section methodsummary instance public">
169
+ <h1>Public Instance Method Summary</h1>
170
+ <table class="summary">
171
+
172
+ <tr>
173
+ <th class="signature">
174
+ <span class='name'><a href="#attach-instance_method" title="#attach">#attach</a></span><span class='args'>(aRootFid, aAuthFid = Fcall::NOFID, aAuthName = ENV['USER'])</span>
175
+ <span class='block'></span>
176
+
177
+ </th>
178
+ <td class="docstring">
179
+ <p>
180
+ Associates the given FID with the FS root.
181
+ </p>
182
+
183
+
184
+ </td>
185
+ </tr>
186
+
187
+ <tr>
188
+ <th class="signature">
189
+ <span class='name'><a href="#clunk-instance_method" title="#clunk">#clunk</a></span><span class='args'>(aFid)</span>
190
+ <span class='block'></span>
191
+
192
+ </th>
193
+ <td class="docstring">
194
+ <p>
195
+ Retires the given FID from use.
196
+ </p>
197
+
198
+
199
+ </td>
200
+ </tr>
201
+
202
+ <tr>
203
+ <th class="signature">
204
+ <span class='name'><a href="#create-instance_method" title="#create">#create</a></span><span class='args'>(aPath, aMode = 'rw', aPerm = 0644)</span>
205
+ <span class='block'></span>
206
+
207
+ </th>
208
+ <td class="docstring">
209
+ <p>
210
+ Creates a new file at the given path that is accessible using the given
211
+ modes for a user having the given permission bits.
212
+ </p>
213
+
214
+
215
+ </td>
216
+ </tr>
217
+
218
+ <tr>
219
+ <th class="signature">
220
+ <span class='name'><a href="#entries-instance_method" title="#entries">#entries</a></span><span class='args'>(aPath)</span>
221
+ <span class='block'></span>
222
+
223
+ </th>
224
+ <td class="docstring">
225
+ <p>
226
+ Returns the names of all files inside the directory whose path is given.
227
+ </p>
228
+
229
+
230
+ </td>
231
+ </tr>
232
+
233
+ <tr>
234
+ <th class="signature">
235
+ <span class='name'><a href="#open-instance_method" title="#open">#open</a></span><span class='args'>(aPath, aMode = 'r')</span>
236
+ <span class='block'></span>
237
+
238
+ </th>
239
+ <td class="docstring">
240
+ <p>
241
+ Opens the given path for I/O access through a FidStream object.
242
+ </p>
243
+
244
+
245
+ </td>
246
+ </tr>
247
+
248
+ <tr>
249
+ <th class="signature">
250
+ <span class='name'><a href="#read-instance_method" title="#read">#read</a></span><span class='args'>(aPath, *aArgs)</span>
251
+ <span class='block'></span>
252
+
253
+ </th>
254
+ <td class="docstring">
255
+ <p>
256
+ Returns the content of the file/directory at the given path.
257
+ </p>
258
+
259
+
260
+ </td>
261
+ </tr>
262
+
263
+ <tr>
264
+ <th class="signature">
265
+ <span class='name'><a href="#remove-instance_method" title="#remove">#remove</a></span><span class='args'>(aPath)</span>
266
+ <span class='block'></span>
267
+
268
+ </th>
269
+ <td class="docstring">
270
+ <p>
271
+ Deletes the file at the given path.
272
+ </p>
273
+
274
+
275
+ </td>
276
+ </tr>
277
+
278
+ <tr>
279
+ <th class="signature">
280
+ <span class='name'><a href="#remove_fid-instance_method" title="#remove_fid">#remove_fid</a></span><span class='args'>(aPathFid)</span>
281
+ <span class='block'></span>
282
+
283
+ </th>
284
+ <td class="docstring">
285
+ <p>
286
+ Deletes the file corresponding to the given FID and clunks the given FID.
287
+ </p>
288
+
289
+
290
+ </td>
291
+ </tr>
292
+
293
+ <tr>
294
+ <th class="signature">
295
+ <span class='name'><a href="#stat-instance_method" title="#stat">#stat</a></span><span class='args'>(aPath)</span>
296
+ <span class='block'></span>
297
+
298
+ </th>
299
+ <td class="docstring">
300
+ <p>
301
+ Returns information about the file at the given path.
302
+ </p>
303
+
304
+
305
+ </td>
306
+ </tr>
307
+
308
+ <tr>
309
+ <th class="signature">
310
+ <span class='name'><a href="#stat_fid-instance_method" title="#stat_fid">#stat_fid</a></span><span class='args'>(aPathFid)</span>
311
+ <span class='block'></span>
312
+
313
+ </th>
314
+ <td class="docstring">
315
+ <p>
316
+ Returns information about the file referenced by the given FID.
317
+ </p>
318
+
319
+
320
+ </td>
321
+ </tr>
322
+
323
+ <tr>
324
+ <th class="signature">
325
+ <span class='name'><a href="#talk-instance_method" title="#talk">#talk</a></span><span class='args'>(aRequest)</span>
326
+ <span class='block'></span>
327
+
328
+ </th>
329
+ <td class="docstring">
330
+ <p>
331
+ Sends the given message (Rumai::IXP::Fcall) and returns its response.
332
+ </p>
333
+
334
+
335
+ </td>
336
+ </tr>
337
+
338
+ <tr>
339
+ <th class="signature">
340
+ <span class='name'><a href="#walk-instance_method" title="#walk">#walk</a></span><span class='args'>(aPath)</span>
341
+ <span class='block'></span>
342
+
343
+ </th>
344
+ <td class="docstring">
345
+ <p>
346
+ Returns an FID corresponding to the given path.
347
+ </p>
348
+
349
+
350
+ </td>
351
+ </tr>
352
+
353
+ <tr>
354
+ <th class="signature">
355
+ <span class='name'><a href="#walk_fid-instance_method" title="#walk_fid">#walk_fid</a></span><span class='args'>(aPathFid, aPath)</span>
356
+ <span class='block'></span>
357
+
358
+ </th>
359
+ <td class="docstring">
360
+ <p>
361
+ Associates the given FID to the given path.
362
+ </p>
363
+
364
+
365
+ </td>
366
+ </tr>
367
+
368
+ <tr>
369
+ <th class="signature">
370
+ <span class='name'><a href="#write-instance_method" title="#write">#write</a></span><span class='args'>(aPath, aContent)</span>
371
+ <span class='block'></span>
372
+
373
+ </th>
374
+ <td class="docstring">
375
+ <p>
376
+ Returns the content of the file/directory at the given path.
377
+ </p>
378
+
379
+
380
+ </td>
381
+ </tr>
382
+
383
+ </table>
384
+ </div>
385
+ <div class="section methoddetails instance public">
386
+ <h1>Public Instance Method Details</h1>
387
+
388
+ <div class="method">
389
+ <div class="method_header">
390
+ <h3>attach</h3>
391
+ </div><div id="attach-instance_method" class="section method">
392
+ <div class="details_title">
393
+ <div class='section methodsignature'>
394
+ <tt class='def'>
395
+ <span class='visibility'>public</span>
396
+ <span class='return_types'></span>
397
+ <span class='name'>attach</span><span class='args'>(aRootFid, aAuthFid = Fcall::NOFID, aAuthName = ENV['USER'])</span>
398
+ <span class='block'></span>
399
+ </tt>
400
+ </div>
401
+
402
+ </div><div class="section docstring">
403
+ <p>
404
+ Associates the given FID with the FS root.
405
+ </p>
406
+
407
+ </div><div class="section source">
408
+ <span>[<a class="source_link" href="#">View source</a>]</span>
409
+ <div class="source_code">
410
+ <table>
411
+ <tr>
412
+ <td>
413
+ <pre class="lines">
414
+
415
+
416
+ 364
417
+ 365
418
+ 366
419
+ 367
420
+ 368
421
+ 369
422
+ 370
423
+ 371</pre>
424
+ </td>
425
+ <td>
426
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 364</span>
427
+
428
+ <span class='def def kw'>def</span> <span class='attach identifier id'>attach</span> <span class='aRootFid identifier id'>aRootFid</span><span class='comma token'>,</span> <span class='aAuthFid identifier id'>aAuthFid</span> <span class='assign token'>=</span> <span class='Fcall constant id'>Fcall</span><span class='colon2 op'>::</span><span class='NOFID constant id'>NOFID</span><span class='comma token'>,</span> <span class='aAuthName identifier id'>aAuthName</span> <span class='assign token'>=</span> <span class='ENV constant id'>ENV</span><span class='lbrack token'>[</span><span class='string val'>'USER'</span><span class='rbrack token'>]</span>
429
+ <span class='talk identifier id'>talk</span> <span class='Tattach constant id'>Tattach</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span>
430
+ <span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aRootFid identifier id'>aRootFid</span><span class='comma token'>,</span>
431
+ <span class='symbol val'>:afid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aAuthFid identifier id'>aAuthFid</span><span class='comma token'>,</span>
432
+ <span class='symbol val'>:uname</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='ENV constant id'>ENV</span><span class='lbrack token'>[</span><span class='string val'>'USER'</span><span class='rbrack token'>]</span><span class='comma token'>,</span>
433
+ <span class='symbol val'>:aname</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aAuthName identifier id'>aAuthName</span>
434
+ <span class='rparen token'>)</span>
435
+ <span class='end end kw'>end</span>
436
+ </pre>
437
+ </td>
438
+ </tr>
439
+ </table>
440
+ </div>
441
+ </div>
442
+ </div>
443
+ </div>
444
+
445
+ <div class="method">
446
+ <div class="method_header">
447
+ <h3>clunk</h3>
448
+ </div><div id="clunk-instance_method" class="section method">
449
+ <div class="details_title">
450
+ <div class='section methodsignature'>
451
+ <tt class='def'>
452
+ <span class='visibility'>public</span>
453
+ <span class='return_types'></span>
454
+ <span class='name'>clunk</span><span class='args'>(aFid)</span>
455
+ <span class='block'></span>
456
+ </tt>
457
+ </div>
458
+
459
+ </div><div class="section docstring">
460
+ <p>
461
+ Retires the given FID from use.
462
+ </p>
463
+
464
+ </div><div class="section source">
465
+ <span>[<a class="source_link" href="#">View source</a>]</span>
466
+ <div class="source_code">
467
+ <table>
468
+ <tr>
469
+ <td>
470
+ <pre class="lines">
471
+
472
+
473
+ 374
474
+ 375
475
+ 376
476
+ 377</pre>
477
+ </td>
478
+ <td>
479
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 374</span>
480
+
481
+ <span class='def def kw'>def</span> <span class='clunk identifier id'>clunk</span> <span class='aFid identifier id'>aFid</span>
482
+ <span class='talk identifier id'>talk</span> <span class='Tclunk constant id'>Tclunk</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aFid identifier id'>aFid</span><span class='rparen token'>)</span>
483
+ <span class='@fidPool ivar id'>@fidPool</span><span class='dot token'>.</span><span class='release identifier id'>release</span> <span class='aFid identifier id'>aFid</span>
484
+ <span class='end end kw'>end</span>
485
+ </pre>
486
+ </td>
487
+ </tr>
488
+ </table>
489
+ </div>
490
+ </div>
491
+ </div>
492
+ </div>
493
+
494
+ <div class="method">
495
+ <div class="method_header">
496
+ <h3>create</h3>
497
+ </div><div id="create-instance_method" class="section method">
498
+ <div class="details_title">
499
+ <div class='section methodsignature'>
500
+ <tt class='def'>
501
+ <span class='visibility'>public</span>
502
+ <span class='return_types'></span>
503
+ <span class='name'>create</span><span class='args'>(aPath, aMode = 'rw', aPerm = 0644)</span>
504
+ <span class='block'></span>
505
+ </tt>
506
+ </div>
507
+
508
+ </div><div class="section docstring">
509
+ <p>
510
+ Creates a new file at the given path that is accessible using the given
511
+ modes for a user having the given permission bits.
512
+ </p>
513
+
514
+ </div><div class="section source">
515
+ <span>[<a class="source_link" href="#">View source</a>]</span>
516
+ <div class="source_code">
517
+ <table>
518
+ <tr>
519
+ <td>
520
+ <pre class="lines">
521
+
522
+
523
+ 301
524
+ 302
525
+ 303
526
+ 304
527
+ 305
528
+ 306
529
+ 307
530
+ 308
531
+ 309
532
+ 310
533
+ 311
534
+ 312
535
+ 313
536
+ 314
537
+ 315
538
+ 316
539
+ 317
540
+ 318</pre>
541
+ </td>
542
+ <td>
543
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 301</span>
544
+
545
+ <span class='def def kw'>def</span> <span class='create identifier id'>create</span> <span class='aPath identifier id'>aPath</span><span class='comma token'>,</span> <span class='aMode identifier id'>aMode</span> <span class='assign token'>=</span> <span class='string val'>'rw'</span><span class='comma token'>,</span> <span class='aPerm identifier id'>aPerm</span> <span class='assign token'>=</span> <span class='integer val'>0644</span>
546
+ <span class='prefix identifier id'>prefix</span> <span class='assign token'>=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='dirname identifier id'>dirname</span><span class='lparen token'>(</span><span class='aPath identifier id'>aPath</span><span class='rparen token'>)</span>
547
+ <span class='target identifier id'>target</span> <span class='assign token'>=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='basename identifier id'>basename</span><span class='lparen token'>(</span><span class='aPath identifier id'>aPath</span><span class='rparen token'>)</span>
548
+
549
+ <span class='mode identifier id'>mode</span> <span class='assign token'>=</span> <span class='MODES constant id'>MODES</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span><span class='lparen token'>(</span><span class='aMode identifier id'>aMode</span><span class='rparen token'>)</span>
550
+
551
+ <span class='with_fid identifier id'>with_fid</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='prefixFid identifier id'>prefixFid</span><span class='bitor op'>|</span>
552
+ <span class='walk_fid identifier id'>walk_fid</span> <span class='prefixFid identifier id'>prefixFid</span><span class='comma token'>,</span> <span class='prefix identifier id'>prefix</span>
553
+
554
+ <span class='comment val'># create the file</span>
555
+ <span class='talk identifier id'>talk</span> <span class='Tcreate constant id'>Tcreate</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span>
556
+ <span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='prefixFid identifier id'>prefixFid</span><span class='comma token'>,</span>
557
+ <span class='symbol val'>:name</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='target identifier id'>target</span><span class='comma token'>,</span>
558
+ <span class='symbol val'>:perm</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aPerm identifier id'>aPerm</span><span class='comma token'>,</span>
559
+ <span class='symbol val'>:mode</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='mode identifier id'>mode</span>
560
+ <span class='rparen token'>)</span>
561
+ <span class='end end kw'>end</span>
562
+ <span class='end end kw'>end</span>
563
+ </pre>
564
+ </td>
565
+ </tr>
566
+ </table>
567
+ </div>
568
+ </div>
569
+ </div>
570
+ </div>
571
+
572
+ <div class="method">
573
+ <div class="method_header">
574
+ <h3>entries</h3>
575
+ </div><div id="entries-instance_method" class="section method">
576
+ <div class="details_title">
577
+ <div class='section methodsignature'>
578
+ <tt class='def'>
579
+ <span class='visibility'>public</span>
580
+ <span class='return_types'></span>
581
+ <span class='name'>entries</span><span class='args'>(aPath)</span>
582
+ <span class='block'></span>
583
+ </tt>
584
+ </div>
585
+
586
+ </div><div class="section docstring">
587
+ <p>
588
+ Returns the names of all files inside the directory whose path is given.
589
+ </p>
590
+
591
+ </div><div class="section source">
592
+ <span>[<a class="source_link" href="#">View source</a>]</span>
593
+ <div class="source_code">
594
+ <table>
595
+ <tr>
596
+ <td>
597
+ <pre class="lines">
598
+
599
+
600
+ 284
601
+ 285
602
+ 286
603
+ 287
604
+ 288
605
+ 289
606
+ 290</pre>
607
+ </td>
608
+ <td>
609
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 284</span>
610
+
611
+ <span class='def def kw'>def</span> <span class='entries identifier id'>entries</span> <span class='aPath identifier id'>aPath</span>
612
+ <span class='unless unless kw'>unless</span> <span class='stat identifier id'>stat</span><span class='lparen token'>(</span><span class='aPath identifier id'>aPath</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='directory? fid id'>directory?</span>
613
+ <span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='dstring node'>&quot;#{aPath.inspect} is not a directory&quot;</span>
614
+ <span class='end end kw'>end</span>
615
+
616
+ <span class='read identifier id'>read</span><span class='lparen token'>(</span><span class='aPath identifier id'>aPath</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='map! fid id'>map!</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='t identifier id'>t</span><span class='bitor op'>|</span> <span class='t identifier id'>t</span><span class='dot token'>.</span><span class='name identifier id'>name</span><span class='rbrace token'>}</span>
617
+ <span class='end end kw'>end</span>
618
+ </pre>
619
+ </td>
620
+ </tr>
621
+ </table>
622
+ </div>
623
+ </div>
624
+ </div>
625
+ </div>
626
+
627
+ <div class="method">
628
+ <div class="method_header">
629
+ <h3>open</h3>
630
+ </div><div id="open-instance_method" class="section method">
631
+ <div class="details_title">
632
+ <div class='section methodsignature'>
633
+ <tt class='def'>
634
+ <span class='visibility'>public</span>
635
+ <span class='return_types'></span>
636
+ <span class='name'>open</span><span class='args'>(aPath, aMode = 'r')</span>
637
+ <span class='block'></span>
638
+ </tt>
639
+ </div>
640
+
641
+ </div><div class="section docstring">
642
+ <p>
643
+ Opens the given path for I/O access through a FidStream object. If a block
644
+ is given, it is invoked with a FidStream object and the stream is closed
645
+ afterwards.
646
+ </p>
647
+ <p>
648
+ See File::open in the Ruby documentation.
649
+ </p>
650
+
651
+ </div><div class="section source">
652
+ <span>[<a class="source_link" href="#">View source</a>]</span>
653
+ <div class="source_code">
654
+ <table>
655
+ <tr>
656
+ <td>
657
+ <pre class="lines">
658
+
659
+
660
+ 144
661
+ 145
662
+ 146
663
+ 147
664
+ 148
665
+ 149
666
+ 150
667
+ 151
668
+ 152
669
+ 153
670
+ 154
671
+ 155
672
+ 156
673
+ 157
674
+ 158
675
+ 159
676
+ 160
677
+ 161
678
+ 162
679
+ 163
680
+ 164
681
+ 165
682
+ 166
683
+ 167</pre>
684
+ </td>
685
+ <td>
686
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 144</span>
687
+
688
+ <span class='def def kw'>def</span> <span class='open identifier id'>open</span> <span class='aPath identifier id'>aPath</span><span class='comma token'>,</span> <span class='aMode identifier id'>aMode</span> <span class='assign token'>=</span> <span class='string val'>'r'</span>
689
+ <span class='mode identifier id'>mode</span> <span class='assign token'>=</span> <span class='MODES constant id'>MODES</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span><span class='lparen token'>(</span><span class='aMode identifier id'>aMode</span><span class='rparen token'>)</span>
690
+
691
+ <span class='comment val'># open the file</span>
692
+ <span class='pathFid identifier id'>pathFid</span> <span class='assign token'>=</span> <span class='walk identifier id'>walk</span><span class='lparen token'>(</span><span class='aPath identifier id'>aPath</span><span class='rparen token'>)</span>
693
+
694
+ <span class='talk identifier id'>talk</span> <span class='Topen constant id'>Topen</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span>
695
+ <span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='pathFid identifier id'>pathFid</span><span class='comma token'>,</span>
696
+ <span class='symbol val'>:mode</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='mode identifier id'>mode</span>
697
+ <span class='rparen token'>)</span>
698
+
699
+ <span class='stream identifier id'>stream</span> <span class='assign token'>=</span> <span class='FidStream constant id'>FidStream</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='comma token'>,</span> <span class='pathFid identifier id'>pathFid</span><span class='comma token'>,</span> <span class='@msize ivar id'>@msize</span><span class='rparen token'>)</span>
700
+
701
+ <span class='comment val'># return the file stream</span>
702
+ <span class='if if kw'>if</span> <span class='block_given? fid id'>block_given?</span>
703
+ <span class='begin begin kw'>begin</span>
704
+ <span class='yield yield kw'>yield</span> <span class='stream identifier id'>stream</span>
705
+ <span class='ensure ensure kw'>ensure</span>
706
+ <span class='stream identifier id'>stream</span><span class='dot token'>.</span><span class='close identifier id'>close</span>
707
+ <span class='end end kw'>end</span>
708
+ <span class='else else kw'>else</span>
709
+ <span class='stream identifier id'>stream</span>
710
+ <span class='end end kw'>end</span>
711
+ <span class='end end kw'>end</span>
712
+ </pre>
713
+ </td>
714
+ </tr>
715
+ </table>
716
+ </div>
717
+ </div>
718
+ </div>
719
+ </div>
720
+
721
+ <div class="method">
722
+ <div class="method_header">
723
+ <h3>read</h3>
724
+ </div><div id="read-instance_method" class="section method">
725
+ <div class="details_title">
726
+ <div class='section methodsignature'>
727
+ <tt class='def'>
728
+ <span class='visibility'>public</span>
729
+ <span class='return_types'></span>
730
+ <span class='name'>read</span><span class='args'>(aPath, *aArgs)</span>
731
+ <span class='block'></span>
732
+ </tt>
733
+ </div>
734
+
735
+ </div><div class="section docstring">
736
+ <p>
737
+ Returns the content of the file/directory at the given path.
738
+ </p>
739
+
740
+ </div><div class="section source">
741
+ <span>[<a class="source_link" href="#">View source</a>]</span>
742
+ <div class="source_code">
743
+ <table>
744
+ <tr>
745
+ <td>
746
+ <pre class="lines">
747
+
748
+
749
+ 277
750
+ 278
751
+ 279
752
+ 280
753
+ 281</pre>
754
+ </td>
755
+ <td>
756
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 277</span>
757
+
758
+ <span class='def def kw'>def</span> <span class='read identifier id'>read</span> <span class='aPath identifier id'>aPath</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='aArgs identifier id'>aArgs</span>
759
+ <span class='open identifier id'>open</span> <span class='aPath identifier id'>aPath</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span>
760
+ <span class='f identifier id'>f</span><span class='dot token'>.</span><span class='read identifier id'>read</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='aArgs identifier id'>aArgs</span><span class='rparen token'>)</span>
761
+ <span class='end end kw'>end</span>
762
+ <span class='end end kw'>end</span>
763
+ </pre>
764
+ </td>
765
+ </tr>
766
+ </table>
767
+ </div>
768
+ </div>
769
+ </div>
770
+ </div>
771
+
772
+ <div class="method">
773
+ <div class="method_header">
774
+ <h3>remove</h3>
775
+ </div><div id="remove-instance_method" class="section method">
776
+ <div class="details_title">
777
+ <div class='section methodsignature'>
778
+ <tt class='def'>
779
+ <span class='visibility'>public</span>
780
+ <span class='return_types'></span>
781
+ <span class='name'>remove</span><span class='args'>(aPath)</span>
782
+ <span class='block'></span>
783
+ </tt>
784
+ </div>
785
+
786
+ </div><div class="section docstring">
787
+ <p>
788
+ Deletes the file at the given path.
789
+ </p>
790
+
791
+ </div><div class="section source">
792
+ <span>[<a class="source_link" href="#">View source</a>]</span>
793
+ <div class="source_code">
794
+ <table>
795
+ <tr>
796
+ <td>
797
+ <pre class="lines">
798
+
799
+
800
+ 321
801
+ 322
802
+ 323
803
+ 324</pre>
804
+ </td>
805
+ <td>
806
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 321</span>
807
+
808
+ <span class='def def kw'>def</span> <span class='remove identifier id'>remove</span> <span class='aPath identifier id'>aPath</span>
809
+ <span class='pathFid identifier id'>pathFid</span> <span class='assign token'>=</span> <span class='walk identifier id'>walk</span><span class='lparen token'>(</span><span class='aPath identifier id'>aPath</span><span class='rparen token'>)</span>
810
+ <span class='remove_fid identifier id'>remove_fid</span> <span class='pathFid identifier id'>pathFid</span> <span class='comment val'># remove also does clunk</span>
811
+ <span class='end end kw'>end</span>
812
+ </pre>
813
+ </td>
814
+ </tr>
815
+ </table>
816
+ </div>
817
+ </div>
818
+ </div>
819
+ </div>
820
+
821
+ <div class="method">
822
+ <div class="method_header">
823
+ <h3>remove_fid</h3>
824
+ </div><div id="remove_fid-instance_method" class="section method">
825
+ <div class="details_title">
826
+ <div class='section methodsignature'>
827
+ <tt class='def'>
828
+ <span class='visibility'>public</span>
829
+ <span class='return_types'></span>
830
+ <span class='name'>remove_fid</span><span class='args'>(aPathFid)</span>
831
+ <span class='block'></span>
832
+ </tt>
833
+ </div>
834
+
835
+ </div><div class="section docstring">
836
+ <p>
837
+ Deletes the file corresponding to the given FID and clunks the given FID.
838
+ </p>
839
+
840
+ </div><div class="section source">
841
+ <span>[<a class="source_link" href="#">View source</a>]</span>
842
+ <div class="source_code">
843
+ <table>
844
+ <tr>
845
+ <td>
846
+ <pre class="lines">
847
+
848
+
849
+ 328
850
+ 329
851
+ 330</pre>
852
+ </td>
853
+ <td>
854
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 328</span>
855
+
856
+ <span class='def def kw'>def</span> <span class='remove_fid identifier id'>remove_fid</span> <span class='aPathFid identifier id'>aPathFid</span>
857
+ <span class='talk identifier id'>talk</span> <span class='Tremove constant id'>Tremove</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aPathFid identifier id'>aPathFid</span><span class='rparen token'>)</span>
858
+ <span class='end end kw'>end</span>
859
+ </pre>
860
+ </td>
861
+ </tr>
862
+ </table>
863
+ </div>
864
+ </div>
865
+ </div>
866
+ </div>
867
+
868
+ <div class="method">
869
+ <div class="method_header">
870
+ <h3>stat</h3>
871
+ </div><div id="stat-instance_method" class="section method">
872
+ <div class="details_title">
873
+ <div class='section methodsignature'>
874
+ <tt class='def'>
875
+ <span class='visibility'>public</span>
876
+ <span class='return_types'></span>
877
+ <span class='name'>stat</span><span class='args'>(aPath)</span>
878
+ <span class='block'></span>
879
+ </tt>
880
+ </div>
881
+
882
+ </div><div class="section docstring">
883
+ <p>
884
+ Returns information about the file at the given path.
885
+ </p>
886
+
887
+ </div><div class="section source">
888
+ <span>[<a class="source_link" href="#">View source</a>]</span>
889
+ <div class="source_code">
890
+ <table>
891
+ <tr>
892
+ <td>
893
+ <pre class="lines">
894
+
895
+
896
+ 333
897
+ 334
898
+ 335
899
+ 336
900
+ 337
901
+ 338</pre>
902
+ </td>
903
+ <td>
904
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 333</span>
905
+
906
+ <span class='def def kw'>def</span> <span class='stat identifier id'>stat</span> <span class='aPath identifier id'>aPath</span>
907
+ <span class='with_fid identifier id'>with_fid</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='pathFid identifier id'>pathFid</span><span class='bitor op'>|</span>
908
+ <span class='walk_fid identifier id'>walk_fid</span> <span class='pathFid identifier id'>pathFid</span><span class='comma token'>,</span> <span class='aPath identifier id'>aPath</span>
909
+ <span class='stat_fid identifier id'>stat_fid</span> <span class='pathFid identifier id'>pathFid</span>
910
+ <span class='end end kw'>end</span>
911
+ <span class='end end kw'>end</span>
912
+ </pre>
913
+ </td>
914
+ </tr>
915
+ </table>
916
+ </div>
917
+ </div>
918
+ </div>
919
+ </div>
920
+
921
+ <div class="method">
922
+ <div class="method_header">
923
+ <h3>stat_fid</h3>
924
+ </div><div id="stat_fid-instance_method" class="section method">
925
+ <div class="details_title">
926
+ <div class='section methodsignature'>
927
+ <tt class='def'>
928
+ <span class='visibility'>public</span>
929
+ <span class='return_types'></span>
930
+ <span class='name'>stat_fid</span><span class='args'>(aPathFid)</span>
931
+ <span class='block'></span>
932
+ </tt>
933
+ </div>
934
+
935
+ </div><div class="section docstring">
936
+ <p>
937
+ Returns information about the file referenced by the given FID.
938
+ </p>
939
+
940
+ </div><div class="section source">
941
+ <span>[<a class="source_link" href="#">View source</a>]</span>
942
+ <div class="source_code">
943
+ <table>
944
+ <tr>
945
+ <td>
946
+ <pre class="lines">
947
+
948
+
949
+ 341
950
+ 342
951
+ 343
952
+ 344
953
+ 345</pre>
954
+ </td>
955
+ <td>
956
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 341</span>
957
+
958
+ <span class='def def kw'>def</span> <span class='stat_fid identifier id'>stat_fid</span> <span class='aPathFid identifier id'>aPathFid</span>
959
+ <span class='req identifier id'>req</span> <span class='assign token'>=</span> <span class='Tstat constant id'>Tstat</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aPathFid identifier id'>aPathFid</span><span class='rparen token'>)</span>
960
+ <span class='rsp identifier id'>rsp</span> <span class='assign token'>=</span> <span class='talk identifier id'>talk</span><span class='lparen token'>(</span><span class='req identifier id'>req</span><span class='rparen token'>)</span>
961
+ <span class='rsp identifier id'>rsp</span><span class='dot token'>.</span><span class='stat identifier id'>stat</span>
962
+ <span class='end end kw'>end</span>
963
+ </pre>
964
+ </td>
965
+ </tr>
966
+ </table>
967
+ </div>
968
+ </div>
969
+ </div>
970
+ </div>
971
+
972
+ <div class="method">
973
+ <div class="method_header">
974
+ <h3>talk</h3>
975
+ </div><div id="talk-instance_method" class="section method">
976
+ <div class="details_title">
977
+ <div class='section methodsignature'>
978
+ <tt class='def'>
979
+ <span class='visibility'>public</span>
980
+ <span class='return_types'></span>
981
+ <span class='name'>talk</span><span class='args'>(aRequest)</span>
982
+ <span class='block'></span>
983
+ </tt>
984
+ </div>
985
+
986
+ </div><div class="section docstring">
987
+ <p>
988
+ Sends the given message (Rumai::IXP::Fcall) and returns its response.
989
+ </p>
990
+ <p>
991
+ This method allows you to perform a 9P2000 transaction without worrying
992
+ about the details of tag collisions and thread safety.
993
+ </p>
994
+
995
+ </div><div class="section source">
996
+ <span>[<a class="source_link" href="#">View source</a>]</span>
997
+ <div class="source_code">
998
+ <table>
999
+ <tr>
1000
+ <td>
1001
+ <pre class="lines">
1002
+
1003
+
1004
+ 101
1005
+ 102
1006
+ 103
1007
+ 104
1008
+ 105
1009
+ 106
1010
+ 107
1011
+ 108
1012
+ 109
1013
+ 110
1014
+ 111
1015
+ 112
1016
+ 113
1017
+ 114
1018
+ 115
1019
+ 116
1020
+ 117
1021
+ 118
1022
+ 119
1023
+ 120
1024
+ 121</pre>
1025
+ </td>
1026
+ <td>
1027
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 101</span>
1028
+
1029
+ <span class='def def kw'>def</span> <span class='talk identifier id'>talk</span> <span class='aRequest identifier id'>aRequest</span>
1030
+ <span class='comment val'># send the request</span>
1031
+ <span class='tag identifier id'>tag</span> <span class='assign token'>=</span> <span class='@tagPool ivar id'>@tagPool</span><span class='dot token'>.</span><span class='obtain identifier id'>obtain</span>
1032
+ <span class='bay identifier id'>bay</span> <span class='assign token'>=</span> <span class='@recvBays ivar id'>@recvBays</span><span class='lbrack token'>[</span><span class='tag identifier id'>tag</span><span class='rbrack token'>]</span>
1033
+
1034
+ <span class='aRequest identifier id'>aRequest</span><span class='dot token'>.</span><span class='tag identifier id'>tag</span> <span class='assign token'>=</span> <span class='tag identifier id'>tag</span>
1035
+ <span class='output identifier id'>output</span> <span class='assign token'>=</span> <span class='aRequest identifier id'>aRequest</span><span class='dot token'>.</span><span class='to_9p identifier id'>to_9p</span>
1036
+ <span class='@sendLock ivar id'>@sendLock</span><span class='dot token'>.</span><span class='synchronize identifier id'>synchronize</span> <span class='do do kw'>do</span>
1037
+ <span class='@stream ivar id'>@stream</span> <span class='lshft op'>&lt;&lt;</span> <span class='output identifier id'>output</span>
1038
+ <span class='end end kw'>end</span>
1039
+
1040
+ <span class='comment val'># receive the response</span>
1041
+ <span class='response identifier id'>response</span> <span class='assign token'>=</span> <span class='bay identifier id'>bay</span><span class='dot token'>.</span><span class='shift identifier id'>shift</span>
1042
+ <span class='@tagPool ivar id'>@tagPool</span><span class='dot token'>.</span><span class='release identifier id'>release</span> <span class='tag identifier id'>tag</span>
1043
+
1044
+ <span class='if if kw'>if</span> <span class='response identifier id'>response</span><span class='dot token'>.</span><span class='is_a? fid id'>is_a?</span> <span class='Rerror constant id'>Rerror</span>
1045
+ <span class='raise identifier id'>raise</span> <span class='Error constant id'>Error</span><span class='comma token'>,</span> <span class='dstring node'>&quot;#{response.ename.inspect} in response to #{aRequest.inspect}&quot;</span>
1046
+ <span class='else else kw'>else</span>
1047
+ <span class='return return kw'>return</span> <span class='response identifier id'>response</span>
1048
+ <span class='end end kw'>end</span>
1049
+ <span class='end end kw'>end</span>
1050
+ </pre>
1051
+ </td>
1052
+ </tr>
1053
+ </table>
1054
+ </div>
1055
+ </div>
1056
+ </div>
1057
+ </div>
1058
+
1059
+ <div class="method">
1060
+ <div class="method_header">
1061
+ <h3>walk</h3>
1062
+ </div><div id="walk-instance_method" class="section method">
1063
+ <div class="details_title">
1064
+ <div class='section methodsignature'>
1065
+ <tt class='def'>
1066
+ <span class='visibility'>public</span>
1067
+ <span class='return_types'></span>
1068
+ <span class='name'>walk</span><span class='args'>(aPath)</span>
1069
+ <span class='block'></span>
1070
+ </tt>
1071
+ </div>
1072
+
1073
+ </div><div class="section docstring">
1074
+ <p>
1075
+ Returns an FID corresponding to the given path.
1076
+ </p>
1077
+
1078
+ </div><div class="section source">
1079
+ <span>[<a class="source_link" href="#">View source</a>]</span>
1080
+ <div class="source_code">
1081
+ <table>
1082
+ <tr>
1083
+ <td>
1084
+ <pre class="lines">
1085
+
1086
+
1087
+ 348
1088
+ 349
1089
+ 350
1090
+ 351
1091
+ 352</pre>
1092
+ </td>
1093
+ <td>
1094
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 348</span>
1095
+
1096
+ <span class='def def kw'>def</span> <span class='walk identifier id'>walk</span> <span class='aPath identifier id'>aPath</span>
1097
+ <span class='fid identifier id'>fid</span> <span class='assign token'>=</span> <span class='@fidPool ivar id'>@fidPool</span><span class='dot token'>.</span><span class='obtain identifier id'>obtain</span>
1098
+ <span class='walk_fid identifier id'>walk_fid</span> <span class='fid identifier id'>fid</span><span class='comma token'>,</span> <span class='aPath identifier id'>aPath</span>
1099
+ <span class='fid identifier id'>fid</span>
1100
+ <span class='end end kw'>end</span>
1101
+ </pre>
1102
+ </td>
1103
+ </tr>
1104
+ </table>
1105
+ </div>
1106
+ </div>
1107
+ </div>
1108
+ </div>
1109
+
1110
+ <div class="method">
1111
+ <div class="method_header">
1112
+ <h3>walk_fid</h3>
1113
+ </div><div id="walk_fid-instance_method" class="section method">
1114
+ <div class="details_title">
1115
+ <div class='section methodsignature'>
1116
+ <tt class='def'>
1117
+ <span class='visibility'>public</span>
1118
+ <span class='return_types'></span>
1119
+ <span class='name'>walk_fid</span><span class='args'>(aPathFid, aPath)</span>
1120
+ <span class='block'></span>
1121
+ </tt>
1122
+ </div>
1123
+
1124
+ </div><div class="section docstring">
1125
+ <p>
1126
+ Associates the given FID to the given path.
1127
+ </p>
1128
+
1129
+ </div><div class="section source">
1130
+ <span>[<a class="source_link" href="#">View source</a>]</span>
1131
+ <div class="source_code">
1132
+ <table>
1133
+ <tr>
1134
+ <td>
1135
+ <pre class="lines">
1136
+
1137
+
1138
+ 355
1139
+ 356
1140
+ 357
1141
+ 358
1142
+ 359
1143
+ 360
1144
+ 361</pre>
1145
+ </td>
1146
+ <td>
1147
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 355</span>
1148
+
1149
+ <span class='def def kw'>def</span> <span class='walk_fid identifier id'>walk_fid</span> <span class='aPathFid identifier id'>aPathFid</span><span class='comma token'>,</span> <span class='aPath identifier id'>aPath</span>
1150
+ <span class='talk identifier id'>talk</span> <span class='Twalk constant id'>Twalk</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span>
1151
+ <span class='symbol val'>:fid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='@rootFid ivar id'>@rootFid</span><span class='comma token'>,</span>
1152
+ <span class='symbol val'>:newfid</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aPathFid identifier id'>aPathFid</span><span class='comma token'>,</span>
1153
+ <span class='symbol val'>:wname</span> <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='aPath identifier id'>aPath</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='split identifier id'>split</span><span class='lparen token'>(</span><span class='regexp val'>%r{/+}</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='reject identifier id'>reject</span> <span class='lbrace token'>{</span> <span class='bitor op'>|</span><span class='s identifier id'>s</span><span class='bitor op'>|</span> <span class='s identifier id'>s</span><span class='dot token'>.</span><span class='empty? fid id'>empty?</span> <span class='rbrace token'>}</span>
1154
+ <span class='rparen token'>)</span>
1155
+ <span class='end end kw'>end</span>
1156
+ </pre>
1157
+ </td>
1158
+ </tr>
1159
+ </table>
1160
+ </div>
1161
+ </div>
1162
+ </div>
1163
+ </div>
1164
+
1165
+ <div class="method">
1166
+ <div class="method_header">
1167
+ <h3>write</h3>
1168
+ </div><div id="write-instance_method" class="section method">
1169
+ <div class="details_title">
1170
+ <div class='section methodsignature'>
1171
+ <tt class='def'>
1172
+ <span class='visibility'>public</span>
1173
+ <span class='return_types'></span>
1174
+ <span class='name'>write</span><span class='args'>(aPath, aContent)</span>
1175
+ <span class='block'></span>
1176
+ </tt>
1177
+ </div>
1178
+
1179
+ </div><div class="section docstring">
1180
+ <p>
1181
+ Returns the content of the file/directory at the given path.
1182
+ </p>
1183
+
1184
+ </div><div class="section source">
1185
+ <span>[<a class="source_link" href="#">View source</a>]</span>
1186
+ <div class="source_code">
1187
+ <table>
1188
+ <tr>
1189
+ <td>
1190
+ <pre class="lines">
1191
+
1192
+
1193
+ 293
1194
+ 294
1195
+ 295
1196
+ 296
1197
+ 297</pre>
1198
+ </td>
1199
+ <td>
1200
+ <pre class="code"><span class="info file"># File 'lib/rumai/ixp/transport.rb', line 293</span>
1201
+
1202
+ <span class='def def kw'>def</span> <span class='write identifier id'>write</span> <span class='aPath identifier id'>aPath</span><span class='comma token'>,</span> <span class='aContent identifier id'>aContent</span>
1203
+ <span class='open identifier id'>open</span> <span class='aPath identifier id'>aPath</span><span class='comma token'>,</span> <span class='string val'>'w'</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='f identifier id'>f</span><span class='bitor op'>|</span>
1204
+ <span class='f identifier id'>f</span> <span class='lshft op'>&lt;&lt;</span> <span class='aContent identifier id'>aContent</span>
1205
+ <span class='end end kw'>end</span>
1206
+ <span class='end end kw'>end</span>
1207
+ </pre>
1208
+ </td>
1209
+ </tr>
1210
+ </table>
1211
+ </div>
1212
+ </div>
1213
+ </div>
1214
+ </div>
1215
+
1216
+ </div>
1217
+ </div>
1218
+
1219
+ </div>
1220
+ </div>
1221
+ </body>
1222
+ </html>