rumai 3.2.0 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CREDITS +4 -3
- data/HISTORY +327 -0
- data/INSTALL +31 -0
- data/README +92 -0
- data/USAGE +297 -0
- data/bin/rumai +9 -22
- data/doc/api/IO.html +119 -0
- data/doc/api/Integer.html +171 -0
- data/doc/api/Rumai.html +1270 -0
- data/doc/api/Rumai/Area.html +1485 -0
- data/doc/api/Rumai/Chain.html +301 -0
- data/doc/api/Rumai/Client.html +2451 -0
- data/doc/api/Rumai/ClientContainer.html +301 -0
- data/doc/api/Rumai/ExportInstanceMethods.html +103 -0
- data/doc/api/Rumai/IXP.html +94 -0
- data/doc/api/Rumai/IXP/Agent.html +1625 -0
- data/doc/api/Rumai/IXP/Agent/FidStream.html +959 -0
- data/doc/api/Rumai/IXP/Agent/RangedPool.html +381 -0
- data/doc/api/Rumai/IXP/Error.html +110 -0
- data/doc/api/Rumai/IXP/Fcall.html +503 -0
- data/doc/api/Rumai/IXP/Qid.html +207 -0
- data/doc/api/Rumai/IXP/Rattach.html +148 -0
- data/doc/api/Rumai/IXP/Rauth.html +148 -0
- data/doc/api/Rumai/IXP/Rclunk.html +148 -0
- data/doc/api/Rumai/IXP/Rcreate.html +148 -0
- data/doc/api/Rumai/IXP/Rerror.html +148 -0
- data/doc/api/Rumai/IXP/Rflush.html +148 -0
- data/doc/api/Rumai/IXP/Ropen.html +148 -0
- data/doc/api/Rumai/IXP/Rread.html +148 -0
- data/doc/api/Rumai/IXP/Rremove.html +148 -0
- data/doc/api/Rumai/IXP/Rstat.html +148 -0
- data/doc/api/Rumai/IXP/Rversion.html +148 -0
- data/doc/api/Rumai/IXP/Rwalk.html +148 -0
- data/doc/api/Rumai/IXP/Rwrite.html +148 -0
- data/doc/api/Rumai/IXP/Rwstat.html +148 -0
- data/doc/api/Rumai/IXP/Stat.html +335 -0
- data/doc/api/Rumai/IXP/Stream.html +194 -0
- data/doc/api/Rumai/IXP/Struct.html +586 -0
- data/doc/api/Rumai/IXP/Struct/ClassField.html +242 -0
- data/doc/api/Rumai/IXP/Struct/Field.html +782 -0
- data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +227 -0
- data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +153 -0
- data/doc/api/Rumai/IXP/Struct/Integer8Field.html +242 -0
- data/doc/api/Rumai/IXP/Struct/StringField.html +206 -0
- data/doc/api/Rumai/IXP/Tattach.html +148 -0
- data/doc/api/Rumai/IXP/Tauth.html +148 -0
- data/doc/api/Rumai/IXP/Tclunk.html +148 -0
- data/doc/api/Rumai/IXP/Tcreate.html +148 -0
- data/doc/api/Rumai/IXP/Terror.html +231 -0
- data/doc/api/Rumai/IXP/Tflush.html +148 -0
- data/doc/api/Rumai/IXP/Topen.html +240 -0
- data/doc/api/Rumai/IXP/Tread.html +148 -0
- data/doc/api/Rumai/IXP/Tremove.html +148 -0
- data/doc/api/Rumai/IXP/Tstat.html +148 -0
- data/doc/api/Rumai/IXP/Tversion.html +162 -0
- data/doc/api/Rumai/IXP/Twalk.html +148 -0
- data/doc/api/Rumai/IXP/Twrite.html +148 -0
- data/doc/api/Rumai/IXP/Twstat.html +148 -0
- data/doc/api/Rumai/Node.html +1406 -0
- data/doc/api/Rumai/View.html +1587 -0
- data/doc/api/Rumai/WidgetImpl.html +333 -0
- data/doc/api/Rumai/WidgetNode.html +246 -0
- data/doc/api/String.html +258 -0
- data/doc/api/StringIO.html +119 -0
- data/doc/api/Time.html +247 -0
- data/doc/api/_index.html +581 -0
- data/doc/api/class_list.html +36 -0
- data/doc/api/css/common.css +1 -0
- data/doc/api/css/full_list.css +50 -0
- data/doc/api/css/style.css +273 -0
- data/doc/api/file.LICENSE.html +73 -0
- data/doc/api/file_list.html +38 -0
- data/doc/api/frames.html +13 -0
- data/doc/api/index.html +72 -13
- data/doc/api/js/app.js +111 -0
- data/doc/api/js/full_list.js +117 -0
- data/doc/api/js/{jquery-1.3.2.min.js → jquery.js} +0 -0
- data/doc/api/method_list.html +1483 -0
- data/doc/api/top-level-namespace.html +89 -0
- data/doc/index.erb +18 -13
- data/doc/index.html +331 -386
- data/lib/rumai.rb +1 -18
- data/lib/rumai/fs.rb +11 -11
- data/lib/rumai/inochi.rb +48 -0
- data/lib/rumai/inochi.yaml +94 -0
- data/lib/rumai/ixp.rb +0 -4
- data/lib/rumai/ixp/message.rb +6 -17
- data/lib/rumai/ixp/transport.rb +39 -30
- data/lib/rumai/wm.rb +35 -37
- data/test/rumai/inochi_test.rb +17 -0
- data/test/rumai/ixp/message_test.rb +245 -0
- data/test/runner +25 -0
- data/test/test_helper.rb +1 -0
- metadata +107 -125
- data/doc/api/apple-touch-icon.png +0 -0
- data/doc/api/classes/IO.html +0 -72
- data/doc/api/classes/Integer.html +0 -110
- data/doc/api/classes/Object.html +0 -60
- data/doc/api/classes/Rumai.html +0 -837
- data/doc/api/classes/Rumai/Area.html +0 -909
- data/doc/api/classes/Rumai/Chain.html +0 -197
- data/doc/api/classes/Rumai/Client.html +0 -1526
- data/doc/api/classes/Rumai/ClientContainer.html +0 -191
- data/doc/api/classes/Rumai/ExportInstanceMethods.html +0 -69
- data/doc/api/classes/Rumai/IXP.html +0 -131
- data/doc/api/classes/Rumai/IXP/Agent.html +0 -941
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +0 -456
- data/doc/api/classes/Rumai/IXP/Agent/MODES.html +0 -108
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +0 -241
- data/doc/api/classes/Rumai/IXP/Error.html +0 -67
- data/doc/api/classes/Rumai/IXP/Fcall.html +0 -323
- data/doc/api/classes/Rumai/IXP/Qid.html +0 -153
- data/doc/api/classes/Rumai/IXP/Rattach.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rauth.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rclunk.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rcreate.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rerror.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rflush.html +0 -67
- data/doc/api/classes/Rumai/IXP/Ropen.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rread.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rremove.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rstat.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rversion.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rwalk.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rwrite.html +0 -67
- data/doc/api/classes/Rumai/IXP/Rwstat.html +0 -67
- data/doc/api/classes/Rumai/IXP/Stat.html +0 -252
- data/doc/api/classes/Rumai/IXP/Stream.html +0 -131
- data/doc/api/classes/Rumai/IXP/Struct.html +0 -311
- data/doc/api/classes/Rumai/IXP/Struct/Field.html +0 -415
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +0 -153
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +0 -104
- data/doc/api/classes/Rumai/IXP/Tattach.html +0 -68
- data/doc/api/classes/Rumai/IXP/Tauth.html +0 -67
- data/doc/api/classes/Rumai/IXP/Tclunk.html +0 -67
- data/doc/api/classes/Rumai/IXP/Tcreate.html +0 -68
- data/doc/api/classes/Rumai/IXP/Terror.html +0 -110
- data/doc/api/classes/Rumai/IXP/Tflush.html +0 -67
- data/doc/api/classes/Rumai/IXP/Topen.html +0 -165
- data/doc/api/classes/Rumai/IXP/Tread.html +0 -67
- data/doc/api/classes/Rumai/IXP/Tremove.html +0 -67
- data/doc/api/classes/Rumai/IXP/Tstat.html +0 -67
- data/doc/api/classes/Rumai/IXP/Tversion.html +0 -86
- data/doc/api/classes/Rumai/IXP/Twalk.html +0 -68
- data/doc/api/classes/Rumai/IXP/Twrite.html +0 -68
- data/doc/api/classes/Rumai/IXP/Twstat.html +0 -67
- data/doc/api/classes/Rumai/Node.html +0 -821
- data/doc/api/classes/Rumai/View.html +0 -967
- data/doc/api/classes/Rumai/WidgetImpl.html +0 -65
- data/doc/api/classes/Rumai/WidgetNode.html +0 -68
- data/doc/api/classes/String.html +0 -163
- data/doc/api/classes/StringIO.html +0 -72
- data/doc/api/classes/Time.html +0 -156
- data/doc/api/created.rid +0 -1
- data/doc/api/css/main.css +0 -263
- data/doc/api/css/panel.css +0 -383
- data/doc/api/css/reset.css +0 -53
- data/doc/api/favicon.ico +0 -0
- data/doc/api/files/CREDITS.html +0 -67
- data/doc/api/files/LICENSE.html +0 -76
- data/doc/api/files/lib/rumai/fs_rb.html +0 -75
- data/doc/api/files/lib/rumai/ixp/message_rb.html +0 -91
- data/doc/api/files/lib/rumai/ixp/transport_rb.html +0 -75
- data/doc/api/files/lib/rumai/ixp_rb.html +0 -69
- data/doc/api/files/lib/rumai/wm_rb.html +0 -77
- data/doc/api/files/lib/rumai_rb.html +0 -65
- data/doc/api/i/arrows.png +0 -0
- data/doc/api/i/results_bg.png +0 -0
- data/doc/api/i/tree_bg.png +0 -0
- data/doc/api/js/jquery-effect.js +0 -593
- data/doc/api/js/main.js +0 -22
- data/doc/api/js/searchdoc.js +0 -628
- data/doc/api/panel/index.html +0 -71
- data/doc/api/panel/search_index.js +0 -1
- data/doc/api/panel/tree.js +0 -1
- data/doc/history.erb +0 -233
- data/doc/intro.erb +0 -70
- data/doc/setup.erb +0 -144
- data/doc/usage.erb +0 -308
- data/rakefile +0 -14
- data/test/rumai/ixp/message.rb +0 -237
@@ -1,191 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
-
<head>
|
6
|
-
<title>Rumai::ClientContainer</title>
|
7
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
8
|
-
<link rel="stylesheet" href="../../css/reset.css" type="text/css" media="screen" />
|
9
|
-
<link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen" />
|
10
|
-
<script src="../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
|
11
|
-
<script src="../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
|
12
|
-
<script src="../../js/main.js" type="text/javascript" charset="utf-8"></script>
|
13
|
-
</head>
|
14
|
-
|
15
|
-
<body>
|
16
|
-
<div class="banner">
|
17
|
-
<h1>
|
18
|
-
<span class="type">Module</span>
|
19
|
-
Rumai::ClientContainer
|
20
|
-
|
21
|
-
</h1>
|
22
|
-
<ul class="files">
|
23
|
-
|
24
|
-
<li><a href="../../files/lib/rumai/wm_rb.html">lib/rumai/wm.rb</a></li>
|
25
|
-
|
26
|
-
</ul>
|
27
|
-
</div>
|
28
|
-
<div id="bodyContent">
|
29
|
-
<div id="content">
|
30
|
-
|
31
|
-
<div class="description">
|
32
|
-
<p>
|
33
|
-
NOTE: Inheritors should override the ‘<a
|
34
|
-
href="ClientContainer.html#M000068">client_ids</a>’ method.
|
35
|
-
</p>
|
36
|
-
|
37
|
-
</div>
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
<div class="sectiontitle">Methods</div>
|
48
|
-
<dl class="methods">
|
49
|
-
|
50
|
-
<dt>C</dt>
|
51
|
-
<dd>
|
52
|
-
<ul>
|
53
|
-
|
54
|
-
<li><a href="#M000068">client_ids</a>,</li>
|
55
|
-
|
56
|
-
<li><a href="#M000069">clients</a></li>
|
57
|
-
|
58
|
-
</ul>
|
59
|
-
</dd>
|
60
|
-
|
61
|
-
<dt>G</dt>
|
62
|
-
<dd>
|
63
|
-
<ul>
|
64
|
-
|
65
|
-
<li><a href="#M000071">grouping</a></li>
|
66
|
-
|
67
|
-
</ul>
|
68
|
-
</dd>
|
69
|
-
|
70
|
-
</dl>
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
<div class="sectiontitle">Instance Public methods</div>
|
85
|
-
|
86
|
-
<div class="method">
|
87
|
-
<div class="title" id="M000068">
|
88
|
-
|
89
|
-
<a name="M000068"></a><b>client_ids</b>()
|
90
|
-
|
91
|
-
</div>
|
92
|
-
|
93
|
-
<div class="description">
|
94
|
-
<p>
|
95
|
-
Returns the IDs of the clients in this container.
|
96
|
-
</p>
|
97
|
-
|
98
|
-
</div>
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
<div class="sourcecode">
|
104
|
-
<p class="source-link">
|
105
|
-
Source: <a href="javascript:toggleSource('M000068_source')" id="l_M000068_source">show</a>
|
106
|
-
|
107
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L458" target="_blank" class="github_url">on GitHub</a>
|
108
|
-
|
109
|
-
</p>
|
110
|
-
<div id="M000068_source" class="dyn-source">
|
111
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 458</span>
|
112
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">client_ids</span>
|
113
|
-
[]
|
114
|
-
<span class="ruby-keyword kw">end</span></pre>
|
115
|
-
</div>
|
116
|
-
</div>
|
117
|
-
|
118
|
-
</div>
|
119
|
-
|
120
|
-
<div class="method">
|
121
|
-
<div class="title" id="M000069">
|
122
|
-
|
123
|
-
<a name="M000069"></a><b>clients</b>()
|
124
|
-
|
125
|
-
</div>
|
126
|
-
|
127
|
-
<div class="description">
|
128
|
-
<p>
|
129
|
-
Returns the clients contained in this container.
|
130
|
-
</p>
|
131
|
-
|
132
|
-
</div>
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
<div class="sourcecode">
|
138
|
-
<p class="source-link">
|
139
|
-
Source: <a href="javascript:toggleSource('M000069_source')" id="l_M000069_source">show</a>
|
140
|
-
|
141
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L465" target="_blank" class="github_url">on GitHub</a>
|
142
|
-
|
143
|
-
</p>
|
144
|
-
<div id="M000069_source" class="dyn-source">
|
145
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 465</span>
|
146
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clients</span>
|
147
|
-
<span class="ruby-identifier">client_ids</span>.<span class="ruby-identifier">map!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-constant">Client</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">i</span> }
|
148
|
-
<span class="ruby-keyword kw">end</span></pre>
|
149
|
-
</div>
|
150
|
-
</div>
|
151
|
-
|
152
|
-
</div>
|
153
|
-
|
154
|
-
<div class="method">
|
155
|
-
<div class="title" id="M000071">
|
156
|
-
|
157
|
-
<a name="M000071"></a><b>grouping</b>()
|
158
|
-
|
159
|
-
</div>
|
160
|
-
|
161
|
-
<div class="description">
|
162
|
-
<p>
|
163
|
-
Returns all grouped clients in this container.
|
164
|
-
</p>
|
165
|
-
|
166
|
-
</div>
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
<div class="sourcecode">
|
172
|
-
<p class="source-link">
|
173
|
-
Source: <a href="javascript:toggleSource('M000071_source')" id="l_M000071_source">show</a>
|
174
|
-
|
175
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/wm.rb#L481" target="_blank" class="github_url">on GitHub</a>
|
176
|
-
|
177
|
-
</p>
|
178
|
-
<div id="M000071_source" class="dyn-source">
|
179
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/wm.rb, line 481</span>
|
180
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">grouping</span>
|
181
|
-
<span class="ruby-identifier">clients</span>.<span class="ruby-identifier">select</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">group?</span> }
|
182
|
-
<span class="ruby-keyword kw">end</span></pre>
|
183
|
-
</div>
|
184
|
-
</div>
|
185
|
-
|
186
|
-
</div>
|
187
|
-
|
188
|
-
</div>
|
189
|
-
</div>
|
190
|
-
</body>
|
191
|
-
</html>
|
@@ -1,69 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
-
<head>
|
6
|
-
<title>Rumai::ExportInstanceMethods</title>
|
7
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
8
|
-
<link rel="stylesheet" href="../../css/reset.css" type="text/css" media="screen" />
|
9
|
-
<link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen" />
|
10
|
-
<script src="../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
|
11
|
-
<script src="../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
|
12
|
-
<script src="../../js/main.js" type="text/javascript" charset="utf-8"></script>
|
13
|
-
</head>
|
14
|
-
|
15
|
-
<body>
|
16
|
-
<div class="banner">
|
17
|
-
<h1>
|
18
|
-
<span class="type">Module</span>
|
19
|
-
Rumai::ExportInstanceMethods
|
20
|
-
|
21
|
-
</h1>
|
22
|
-
<ul class="files">
|
23
|
-
|
24
|
-
<li><a href="../../files/lib/rumai/fs_rb.html">lib/rumai/fs.rb</a></li>
|
25
|
-
|
26
|
-
</ul>
|
27
|
-
</div>
|
28
|
-
<div id="bodyContent">
|
29
|
-
<div id="content">
|
30
|
-
|
31
|
-
<div class="description">
|
32
|
-
<p>
|
33
|
-
Makes instance methods accessible through class methods. This is done to
|
34
|
-
emulate the File class:
|
35
|
-
</p>
|
36
|
-
<pre>
|
37
|
-
File.exist? "foo"
|
38
|
-
File.new("foo").exist?
|
39
|
-
</pre>
|
40
|
-
<p>
|
41
|
-
Both of the above expressions are equivalent.
|
42
|
-
</p>
|
43
|
-
|
44
|
-
</div>
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
</div>
|
67
|
-
</div>
|
68
|
-
</body>
|
69
|
-
</html>
|
@@ -1,131 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
-
<head>
|
6
|
-
<title>Rumai::IXP</title>
|
7
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
8
|
-
<link rel="stylesheet" href="../../css/reset.css" type="text/css" media="screen" />
|
9
|
-
<link rel="stylesheet" href="../../css/main.css" type="text/css" media="screen" />
|
10
|
-
<script src="../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
|
11
|
-
<script src="../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
|
12
|
-
<script src="../../js/main.js" type="text/javascript" charset="utf-8"></script>
|
13
|
-
</head>
|
14
|
-
|
15
|
-
<body>
|
16
|
-
<div class="banner">
|
17
|
-
<h1>
|
18
|
-
<span class="type">Module</span>
|
19
|
-
Rumai::IXP
|
20
|
-
|
21
|
-
</h1>
|
22
|
-
<ul class="files">
|
23
|
-
|
24
|
-
<li><a href="../../files/lib/rumai/ixp/transport_rb.html">lib/rumai/ixp/transport.rb</a></li>
|
25
|
-
|
26
|
-
<li><a href="../../files/lib/rumai/ixp/message_rb.html">lib/rumai/ixp/message.rb</a></li>
|
27
|
-
|
28
|
-
</ul>
|
29
|
-
</div>
|
30
|
-
<div id="bodyContent">
|
31
|
-
<div id="content">
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
<div class="sectiontitle">Classes and Modules</div>
|
48
|
-
<ul>
|
49
|
-
|
50
|
-
<li><span class="type">MODULE</span> <a href="IXP/Stream.html">Rumai::IXP::Stream</a></li>
|
51
|
-
|
52
|
-
<li><span class="type">MODULE</span> <a href="IXP/Struct.html">Rumai::IXP::Struct</a></li>
|
53
|
-
|
54
|
-
<li><span class="type">CLASS</span> <a href="IXP/Agent.html">Rumai::IXP::Agent</a></li>
|
55
|
-
|
56
|
-
<li><span class="type">CLASS</span> <a href="IXP/Error.html">Rumai::IXP::Error</a></li>
|
57
|
-
|
58
|
-
<li><span class="type">CLASS</span> <a href="IXP/Fcall.html">Rumai::IXP::Fcall</a></li>
|
59
|
-
|
60
|
-
<li><span class="type">CLASS</span> <a href="IXP/Qid.html">Rumai::IXP::Qid</a></li>
|
61
|
-
|
62
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rattach.html">Rumai::IXP::Rattach</a></li>
|
63
|
-
|
64
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rauth.html">Rumai::IXP::Rauth</a></li>
|
65
|
-
|
66
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rclunk.html">Rumai::IXP::Rclunk</a></li>
|
67
|
-
|
68
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rcreate.html">Rumai::IXP::Rcreate</a></li>
|
69
|
-
|
70
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rerror.html">Rumai::IXP::Rerror</a></li>
|
71
|
-
|
72
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rflush.html">Rumai::IXP::Rflush</a></li>
|
73
|
-
|
74
|
-
<li><span class="type">CLASS</span> <a href="IXP/Ropen.html">Rumai::IXP::Ropen</a></li>
|
75
|
-
|
76
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rread.html">Rumai::IXP::Rread</a></li>
|
77
|
-
|
78
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rremove.html">Rumai::IXP::Rremove</a></li>
|
79
|
-
|
80
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rstat.html">Rumai::IXP::Rstat</a></li>
|
81
|
-
|
82
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rversion.html">Rumai::IXP::Rversion</a></li>
|
83
|
-
|
84
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rwalk.html">Rumai::IXP::Rwalk</a></li>
|
85
|
-
|
86
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rwrite.html">Rumai::IXP::Rwrite</a></li>
|
87
|
-
|
88
|
-
<li><span class="type">CLASS</span> <a href="IXP/Rwstat.html">Rumai::IXP::Rwstat</a></li>
|
89
|
-
|
90
|
-
<li><span class="type">CLASS</span> <a href="IXP/Stat.html">Rumai::IXP::Stat</a></li>
|
91
|
-
|
92
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tattach.html">Rumai::IXP::Tattach</a></li>
|
93
|
-
|
94
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tauth.html">Rumai::IXP::Tauth</a></li>
|
95
|
-
|
96
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tclunk.html">Rumai::IXP::Tclunk</a></li>
|
97
|
-
|
98
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tcreate.html">Rumai::IXP::Tcreate</a></li>
|
99
|
-
|
100
|
-
<li><span class="type">CLASS</span> <a href="IXP/Terror.html">Rumai::IXP::Terror</a></li>
|
101
|
-
|
102
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tflush.html">Rumai::IXP::Tflush</a></li>
|
103
|
-
|
104
|
-
<li><span class="type">CLASS</span> <a href="IXP/Topen.html">Rumai::IXP::Topen</a></li>
|
105
|
-
|
106
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tread.html">Rumai::IXP::Tread</a></li>
|
107
|
-
|
108
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tremove.html">Rumai::IXP::Tremove</a></li>
|
109
|
-
|
110
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tstat.html">Rumai::IXP::Tstat</a></li>
|
111
|
-
|
112
|
-
<li><span class="type">CLASS</span> <a href="IXP/Tversion.html">Rumai::IXP::Tversion</a></li>
|
113
|
-
|
114
|
-
<li><span class="type">CLASS</span> <a href="IXP/Twalk.html">Rumai::IXP::Twalk</a></li>
|
115
|
-
|
116
|
-
<li><span class="type">CLASS</span> <a href="IXP/Twrite.html">Rumai::IXP::Twrite</a></li>
|
117
|
-
|
118
|
-
<li><span class="type">CLASS</span> <a href="IXP/Twstat.html">Rumai::IXP::Twstat</a></li>
|
119
|
-
|
120
|
-
</ul>
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
</div>
|
129
|
-
</div>
|
130
|
-
</body>
|
131
|
-
</html>
|
@@ -1,941 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
3
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
4
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
-
<head>
|
6
|
-
<title>Rumai::IXP::Agent</title>
|
7
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
8
|
-
<link rel="stylesheet" href="../../../css/reset.css" type="text/css" media="screen" />
|
9
|
-
<link rel="stylesheet" href="../../../css/main.css" type="text/css" media="screen" />
|
10
|
-
<script src="../../../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
|
11
|
-
<script src="../../../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
|
12
|
-
<script src="../../../js/main.js" type="text/javascript" charset="utf-8"></script>
|
13
|
-
</head>
|
14
|
-
|
15
|
-
<body>
|
16
|
-
<div class="banner">
|
17
|
-
<h1>
|
18
|
-
<span class="type">Class</span>
|
19
|
-
Rumai::IXP::Agent
|
20
|
-
|
21
|
-
<span class="parent"><
|
22
|
-
|
23
|
-
<a href="../../Object.html">Object</a>
|
24
|
-
|
25
|
-
</span>
|
26
|
-
|
27
|
-
</h1>
|
28
|
-
<ul class="files">
|
29
|
-
|
30
|
-
<li><a href="../../../files/lib/rumai/ixp/transport_rb.html">lib/rumai/ixp/transport.rb</a></li>
|
31
|
-
|
32
|
-
</ul>
|
33
|
-
</div>
|
34
|
-
<div id="bodyContent">
|
35
|
-
<div id="content">
|
36
|
-
|
37
|
-
<div class="description">
|
38
|
-
<p>
|
39
|
-
A thread-safe channel that multiplexes many threads onto a single 9P2000
|
40
|
-
connection.
|
41
|
-
</p>
|
42
|
-
<p>
|
43
|
-
The send/recv implementation is based on the XCB cookie approach: <a
|
44
|
-
href="http://www.x.org/releases/X11R7.5/doc/libxcb/tutorial/#requestsreplies">www.x.org/releases/X11R7.5/doc/libxcb/tutorial/#requestsreplies</a>
|
45
|
-
</p>
|
46
|
-
|
47
|
-
</div>
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
<div class="sectiontitle">Methods</div>
|
58
|
-
<dl class="methods">
|
59
|
-
|
60
|
-
<dt>A</dt>
|
61
|
-
<dd>
|
62
|
-
<ul>
|
63
|
-
|
64
|
-
<li><a href="#M000105">attach</a></li>
|
65
|
-
|
66
|
-
</ul>
|
67
|
-
</dd>
|
68
|
-
|
69
|
-
<dt>C</dt>
|
70
|
-
<dd>
|
71
|
-
<ul>
|
72
|
-
|
73
|
-
<li><a href="#M000108">clunk</a>,</li>
|
74
|
-
|
75
|
-
<li><a href="#M000089">create</a></li>
|
76
|
-
|
77
|
-
</ul>
|
78
|
-
</dd>
|
79
|
-
|
80
|
-
<dt>E</dt>
|
81
|
-
<dd>
|
82
|
-
<ul>
|
83
|
-
|
84
|
-
<li><a href="#M000084">entries</a></li>
|
85
|
-
|
86
|
-
</ul>
|
87
|
-
</dd>
|
88
|
-
|
89
|
-
<dt>N</dt>
|
90
|
-
<dd>
|
91
|
-
<ul>
|
92
|
-
|
93
|
-
<li><a href="#M000038">new</a></li>
|
94
|
-
|
95
|
-
</ul>
|
96
|
-
</dd>
|
97
|
-
|
98
|
-
<dt>O</dt>
|
99
|
-
<dd>
|
100
|
-
<ul>
|
101
|
-
|
102
|
-
<li><a href="#M000064">open</a></li>
|
103
|
-
|
104
|
-
</ul>
|
105
|
-
</dd>
|
106
|
-
|
107
|
-
<dt>R</dt>
|
108
|
-
<dd>
|
109
|
-
<ul>
|
110
|
-
|
111
|
-
<li><a href="#M000083">read</a>,</li>
|
112
|
-
|
113
|
-
<li><a href="#M000055">recv</a>,</li>
|
114
|
-
|
115
|
-
<li><a href="#M000093">remove</a>,</li>
|
116
|
-
|
117
|
-
<li><a href="#M000096">remove_fid</a></li>
|
118
|
-
|
119
|
-
</ul>
|
120
|
-
</dd>
|
121
|
-
|
122
|
-
<dt>S</dt>
|
123
|
-
<dd>
|
124
|
-
<ul>
|
125
|
-
|
126
|
-
<li><a href="#M000054">send</a>,</li>
|
127
|
-
|
128
|
-
<li><a href="#M000097">stat</a>,</li>
|
129
|
-
|
130
|
-
<li><a href="#M000098">stat_fid</a></li>
|
131
|
-
|
132
|
-
</ul>
|
133
|
-
</dd>
|
134
|
-
|
135
|
-
<dt>T</dt>
|
136
|
-
<dd>
|
137
|
-
<ul>
|
138
|
-
|
139
|
-
<li><a href="#M000057">talk</a></li>
|
140
|
-
|
141
|
-
</ul>
|
142
|
-
</dd>
|
143
|
-
|
144
|
-
<dt>W</dt>
|
145
|
-
<dd>
|
146
|
-
<ul>
|
147
|
-
|
148
|
-
<li><a href="#M000101">walk</a>,</li>
|
149
|
-
|
150
|
-
<li><a href="#M000102">walk_fid</a>,</li>
|
151
|
-
|
152
|
-
<li><a href="#M000085">write</a></li>
|
153
|
-
|
154
|
-
</ul>
|
155
|
-
</dd>
|
156
|
-
|
157
|
-
</dl>
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
<div class="sectiontitle">Classes and Modules</div>
|
166
|
-
<ul>
|
167
|
-
|
168
|
-
<li><span class="type">MODULE</span> <a href="Agent/MODES.html">Rumai::IXP::Agent::MODES</a></li>
|
169
|
-
|
170
|
-
<li><span class="type">CLASS</span> <a href="Agent/FidStream.html">Rumai::IXP::Agent::FidStream</a></li>
|
171
|
-
|
172
|
-
<li><span class="type">CLASS</span> <a href="Agent/RangedPool.html">Rumai::IXP::Agent::RangedPool</a></li>
|
173
|
-
|
174
|
-
</ul>
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
<div class="sectiontitle">Constants</div>
|
179
|
-
<table border='0' cellpadding='5'>
|
180
|
-
|
181
|
-
<tr valign='top'>
|
182
|
-
<td class="attr-name">MODES</td>
|
183
|
-
<td>=</td>
|
184
|
-
<td class="attr-value">{ 'r' => Topen::OREAD, 'w' => Topen::OWRITE, 't' => Topen::ORCLOSE, '+' => Topen::ORDWR, }</td>
|
185
|
-
</tr>
|
186
|
-
|
187
|
-
|
188
|
-
</table>
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
<div class="sectiontitle">Attributes</div>
|
193
|
-
<table border='0' cellpadding='5'>
|
194
|
-
|
195
|
-
<tr valign='top'>
|
196
|
-
<td class='attr-rw'>
|
197
|
-
[R]
|
198
|
-
</td>
|
199
|
-
<td class='attr-name'>msize</td>
|
200
|
-
<td class='attr-desc'></td>
|
201
|
-
</tr>
|
202
|
-
|
203
|
-
</table>
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
<div class="sectiontitle">Class Public methods</div>
|
208
|
-
|
209
|
-
<div class="method">
|
210
|
-
<div class="title" id="M000038">
|
211
|
-
|
212
|
-
<a name="M000038"></a><b>new</b>(stream)
|
213
|
-
|
214
|
-
</div>
|
215
|
-
|
216
|
-
<div class="description">
|
217
|
-
<dl>
|
218
|
-
<dt>stream</dt><dd>I/O stream on which a 9P2000 server is listening.
|
219
|
-
|
220
|
-
</dd>
|
221
|
-
</dl>
|
222
|
-
|
223
|
-
</div>
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
<div class="sourcecode">
|
229
|
-
<p class="source-link">
|
230
|
-
Source: <a href="javascript:toggleSource('M000038_source')" id="l_M000038_source">show</a>
|
231
|
-
|
232
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L26" target="_blank" class="github_url">on GitHub</a>
|
233
|
-
|
234
|
-
</p>
|
235
|
-
<div id="M000038_source" class="dyn-source">
|
236
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 26</span>
|
237
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">stream</span>
|
238
|
-
<span class="ruby-ivar">@stream</span> = <span class="ruby-identifier">stream</span>
|
239
|
-
|
240
|
-
<span class="ruby-ivar">@recv_buf</span> = {} <span class="ruby-comment cmt"># tag => message</span>
|
241
|
-
<span class="ruby-ivar">@recv_lock</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
|
242
|
-
|
243
|
-
<span class="ruby-ivar">@tag_pool</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>)
|
244
|
-
<span class="ruby-ivar">@fid_pool</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>)
|
245
|
-
|
246
|
-
<span class="ruby-comment cmt"># establish connection with 9P2000 server</span>
|
247
|
-
<span class="ruby-identifier">req</span> = <span class="ruby-constant">Tversion</span>.<span class="ruby-identifier">new</span>(
|
248
|
-
<span class="ruby-identifier">:tag</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOTAG</span>,
|
249
|
-
<span class="ruby-identifier">:msize</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Tversion</span><span class="ruby-operator">::</span><span class="ruby-constant">MSIZE</span>,
|
250
|
-
<span class="ruby-identifier">:version</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Tversion</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>
|
251
|
-
)
|
252
|
-
<span class="ruby-identifier">rsp</span> = <span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
|
253
|
-
|
254
|
-
<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>
|
255
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Error</span>, <span class="ruby-node">"protocol mismatch: self=#{req.version.inspect} server=#{rsp.version.inspect}"</span>
|
256
|
-
<span class="ruby-keyword kw">end</span>
|
257
|
-
|
258
|
-
<span class="ruby-ivar">@msize</span> = <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">msize</span>
|
259
|
-
|
260
|
-
<span class="ruby-comment cmt"># authenticate the connection (not necessary for wmii)</span>
|
261
|
-
<span class="ruby-ivar">@auth_fid</span> = <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOFID</span>
|
262
|
-
|
263
|
-
<span class="ruby-comment cmt"># attach to filesystem root</span>
|
264
|
-
<span class="ruby-ivar">@root_fid</span> = <span class="ruby-ivar">@fid_pool</span>.<span class="ruby-identifier">obtain</span>
|
265
|
-
<span class="ruby-identifier">attach</span> <span class="ruby-ivar">@root_fid</span>, <span class="ruby-ivar">@auth_fid</span>
|
266
|
-
<span class="ruby-keyword kw">end</span></pre>
|
267
|
-
</div>
|
268
|
-
</div>
|
269
|
-
|
270
|
-
</div>
|
271
|
-
|
272
|
-
<div class="sectiontitle">Instance Public methods</div>
|
273
|
-
|
274
|
-
<div class="method">
|
275
|
-
<div class="title" id="M000105">
|
276
|
-
|
277
|
-
<a name="M000105"></a><b>attach</b>(root_fid, auth_fid = Fcall::NOFID, auth_name = ENV['USER'])
|
278
|
-
|
279
|
-
</div>
|
280
|
-
|
281
|
-
<div class="description">
|
282
|
-
<p>
|
283
|
-
Associates the given FID with the FS root.
|
284
|
-
</p>
|
285
|
-
|
286
|
-
</div>
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
<div class="sourcecode">
|
292
|
-
<p class="source-link">
|
293
|
-
Source: <a href="javascript:toggleSource('M000105_source')" id="l_M000105_source">show</a>
|
294
|
-
|
295
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L459" target="_blank" class="github_url">on GitHub</a>
|
296
|
-
|
297
|
-
</p>
|
298
|
-
<div id="M000105_source" class="dyn-source">
|
299
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 459</span>
|
300
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">attach</span> <span class="ruby-identifier">root_fid</span>, <span class="ruby-identifier">auth_fid</span> = <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOFID</span>, <span class="ruby-identifier">auth_name</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'USER'</span>]
|
301
|
-
<span class="ruby-identifier">talk</span> <span class="ruby-constant">Tattach</span>.<span class="ruby-identifier">new</span>(
|
302
|
-
<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">root_fid</span>,
|
303
|
-
<span class="ruby-identifier">:afid</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">auth_fid</span>,
|
304
|
-
<span class="ruby-identifier">:uname</span> =<span class="ruby-operator">></span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'USER'</span>],
|
305
|
-
<span class="ruby-identifier">:aname</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">auth_name</span>
|
306
|
-
)
|
307
|
-
<span class="ruby-keyword kw">end</span></pre>
|
308
|
-
</div>
|
309
|
-
</div>
|
310
|
-
|
311
|
-
</div>
|
312
|
-
|
313
|
-
<div class="method">
|
314
|
-
<div class="title" id="M000108">
|
315
|
-
|
316
|
-
<a name="M000108"></a><b>clunk</b>(fid)
|
317
|
-
|
318
|
-
</div>
|
319
|
-
|
320
|
-
<div class="description">
|
321
|
-
<p>
|
322
|
-
Retires the given FID from use.
|
323
|
-
</p>
|
324
|
-
|
325
|
-
</div>
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
<div class="sourcecode">
|
331
|
-
<p class="source-link">
|
332
|
-
Source: <a href="javascript:toggleSource('M000108_source')" id="l_M000108_source">show</a>
|
333
|
-
|
334
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L471" target="_blank" class="github_url">on GitHub</a>
|
335
|
-
|
336
|
-
</p>
|
337
|
-
<div id="M000108_source" class="dyn-source">
|
338
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 471</span>
|
339
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clunk</span> <span class="ruby-identifier">fid</span>
|
340
|
-
<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">></span> <span class="ruby-identifier">fid</span>)
|
341
|
-
<span class="ruby-ivar">@fid_pool</span>.<span class="ruby-identifier">release</span> <span class="ruby-identifier">fid</span>
|
342
|
-
<span class="ruby-keyword kw">end</span></pre>
|
343
|
-
</div>
|
344
|
-
</div>
|
345
|
-
|
346
|
-
</div>
|
347
|
-
|
348
|
-
<div class="method">
|
349
|
-
<div class="title" id="M000089">
|
350
|
-
|
351
|
-
<a name="M000089"></a><b>create</b>(path, mode = 'rw', perm = 0644)
|
352
|
-
|
353
|
-
</div>
|
354
|
-
|
355
|
-
<div class="description">
|
356
|
-
<p>
|
357
|
-
Creates a new file at the given path that is accessible using the given
|
358
|
-
modes for a user having the given permission bits.
|
359
|
-
</p>
|
360
|
-
|
361
|
-
</div>
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
<div class="sourcecode">
|
367
|
-
<p class="source-link">
|
368
|
-
Source: <a href="javascript:toggleSource('M000089_source')" id="l_M000089_source">show</a>
|
369
|
-
|
370
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L382" target="_blank" class="github_url">on GitHub</a>
|
371
|
-
|
372
|
-
</p>
|
373
|
-
<div id="M000089_source" class="dyn-source">
|
374
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 382</span>
|
375
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-value str">'rw'</span>, <span class="ruby-identifier">perm</span> = <span class="ruby-value">0644</span>
|
376
|
-
<span class="ruby-identifier">prefix</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">path</span>)
|
377
|
-
<span class="ruby-identifier">target</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">path</span>)
|
378
|
-
|
379
|
-
<span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">mode</span>)
|
380
|
-
|
381
|
-
<span class="ruby-identifier">with_fid</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">prefix_fid</span><span class="ruby-operator">|</span>
|
382
|
-
<span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">prefix_fid</span>, <span class="ruby-identifier">prefix</span>
|
383
|
-
|
384
|
-
<span class="ruby-comment cmt"># create the file</span>
|
385
|
-
<span class="ruby-identifier">talk</span> <span class="ruby-constant">Tcreate</span>.<span class="ruby-identifier">new</span>(
|
386
|
-
<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">prefix_fid</span>,
|
387
|
-
<span class="ruby-identifier">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">target</span>,
|
388
|
-
<span class="ruby-identifier">:perm</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">perm</span>,
|
389
|
-
<span class="ruby-identifier">:mode</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">mode</span>
|
390
|
-
)
|
391
|
-
<span class="ruby-keyword kw">end</span>
|
392
|
-
<span class="ruby-keyword kw">end</span></pre>
|
393
|
-
</div>
|
394
|
-
</div>
|
395
|
-
|
396
|
-
</div>
|
397
|
-
|
398
|
-
<div class="method">
|
399
|
-
<div class="title" id="M000084">
|
400
|
-
|
401
|
-
<a name="M000084"></a><b>entries</b>(path)
|
402
|
-
|
403
|
-
</div>
|
404
|
-
|
405
|
-
<div class="description">
|
406
|
-
<p>
|
407
|
-
Returns the basenames of all files inside the directory at the given path.
|
408
|
-
</p>
|
409
|
-
<p>
|
410
|
-
See Dir::entries in the Ruby documentation.
|
411
|
-
</p>
|
412
|
-
|
413
|
-
</div>
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
<div class="sourcecode">
|
419
|
-
<p class="source-link">
|
420
|
-
Source: <a href="javascript:toggleSource('M000084_source')" id="l_M000084_source">show</a>
|
421
|
-
|
422
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L360" target="_blank" class="github_url">on GitHub</a>
|
423
|
-
|
424
|
-
</p>
|
425
|
-
<div id="M000084_source" class="dyn-source">
|
426
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 360</span>
|
427
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">entries</span> <span class="ruby-identifier">path</span>
|
428
|
-
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">stat</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">directory?</span>
|
429
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-node">"#{path.inspect} is not a directory"</span>
|
430
|
-
<span class="ruby-keyword kw">end</span>
|
431
|
-
|
432
|
-
<span class="ruby-identifier">read</span>(<span class="ruby-identifier">path</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>}
|
433
|
-
<span class="ruby-keyword kw">end</span></pre>
|
434
|
-
</div>
|
435
|
-
</div>
|
436
|
-
|
437
|
-
</div>
|
438
|
-
|
439
|
-
<div class="method">
|
440
|
-
<div class="title" id="M000064">
|
441
|
-
|
442
|
-
<a name="M000064"></a><b>open</b>(path, mode = 'r')
|
443
|
-
|
444
|
-
</div>
|
445
|
-
|
446
|
-
<div class="description">
|
447
|
-
<p>
|
448
|
-
Opens the given path for I/O access through a <a
|
449
|
-
href="Agent/FidStream.html">FidStream</a> object. If a block is given, it
|
450
|
-
is invoked with a <a href="Agent/FidStream.html">FidStream</a> object and
|
451
|
-
the stream is closed afterwards.
|
452
|
-
</p>
|
453
|
-
<p>
|
454
|
-
See File::open in the Ruby documentation.
|
455
|
-
</p>
|
456
|
-
|
457
|
-
</div>
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
<div class="sourcecode">
|
463
|
-
<p class="source-link">
|
464
|
-
Source: <a href="javascript:toggleSource('M000064_source')" id="l_M000064_source">show</a>
|
465
|
-
|
466
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L199" target="_blank" class="github_url">on GitHub</a>
|
467
|
-
|
468
|
-
</p>
|
469
|
-
<div id="M000064_source" class="dyn-source">
|
470
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 199</span>
|
471
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">mode</span> = <span class="ruby-value str">'r'</span> <span class="ruby-comment cmt"># :yields: FidStream</span>
|
472
|
-
<span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">mode</span>)
|
473
|
-
|
474
|
-
<span class="ruby-comment cmt"># open the file</span>
|
475
|
-
<span class="ruby-identifier">path_fid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">path</span>)
|
476
|
-
|
477
|
-
<span class="ruby-identifier">talk</span> <span class="ruby-constant">Topen</span>.<span class="ruby-identifier">new</span>(
|
478
|
-
<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">path_fid</span>,
|
479
|
-
<span class="ruby-identifier">:mode</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">mode</span>
|
480
|
-
)
|
481
|
-
|
482
|
-
<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">path_fid</span>, <span class="ruby-ivar">@msize</span>)
|
483
|
-
|
484
|
-
<span class="ruby-comment cmt"># return the file stream</span>
|
485
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
486
|
-
<span class="ruby-keyword kw">begin</span>
|
487
|
-
<span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">stream</span>
|
488
|
-
<span class="ruby-keyword kw">ensure</span>
|
489
|
-
<span class="ruby-identifier">stream</span>.<span class="ruby-identifier">close</span>
|
490
|
-
<span class="ruby-keyword kw">end</span>
|
491
|
-
<span class="ruby-keyword kw">else</span>
|
492
|
-
<span class="ruby-identifier">stream</span>
|
493
|
-
<span class="ruby-keyword kw">end</span>
|
494
|
-
<span class="ruby-keyword kw">end</span></pre>
|
495
|
-
</div>
|
496
|
-
</div>
|
497
|
-
|
498
|
-
</div>
|
499
|
-
|
500
|
-
<div class="method">
|
501
|
-
<div class="title" id="M000083">
|
502
|
-
|
503
|
-
<a name="M000083"></a><b>read</b>(path, *args)
|
504
|
-
|
505
|
-
</div>
|
506
|
-
|
507
|
-
<div class="description">
|
508
|
-
<p>
|
509
|
-
Returns the content of the file/directory at the given path.
|
510
|
-
</p>
|
511
|
-
|
512
|
-
</div>
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
<div class="sourcecode">
|
518
|
-
<p class="source-link">
|
519
|
-
Source: <a href="javascript:toggleSource('M000083_source')" id="l_M000083_source">show</a>
|
520
|
-
|
521
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L348" target="_blank" class="github_url">on GitHub</a>
|
522
|
-
|
523
|
-
</p>
|
524
|
-
<div id="M000083_source" class="dyn-source">
|
525
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 348</span>
|
526
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span> <span class="ruby-identifier">path</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>
|
527
|
-
<span class="ruby-identifier">open</span> <span class="ruby-identifier">path</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
528
|
-
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
529
|
-
<span class="ruby-keyword kw">end</span>
|
530
|
-
<span class="ruby-keyword kw">end</span></pre>
|
531
|
-
</div>
|
532
|
-
</div>
|
533
|
-
|
534
|
-
</div>
|
535
|
-
|
536
|
-
<div class="method">
|
537
|
-
<div class="title" id="M000055">
|
538
|
-
|
539
|
-
<a name="M000055"></a><b>recv</b>(tag)
|
540
|
-
|
541
|
-
</div>
|
542
|
-
|
543
|
-
<div class="description">
|
544
|
-
<p>
|
545
|
-
Returns the reply for the given ticket, which was previously given to you
|
546
|
-
when you sent the corresponding request (<a
|
547
|
-
href="Fcall.html">Rumai::IXP::Fcall</a>).
|
548
|
-
</p>
|
549
|
-
|
550
|
-
</div>
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
<div class="sourcecode">
|
556
|
-
<p class="source-link">
|
557
|
-
Source: <a href="javascript:toggleSource('M000055_source')" id="l_M000055_source">show</a>
|
558
|
-
|
559
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L124" target="_blank" class="github_url">on GitHub</a>
|
560
|
-
|
561
|
-
</p>
|
562
|
-
<div id="M000055_source" class="dyn-source">
|
563
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 124</span>
|
564
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">recv</span> <span class="ruby-identifier">tag</span>
|
565
|
-
<span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
566
|
-
<span class="ruby-identifier">reply</span> = <span class="ruby-ivar">@recv_lock</span>.<span class="ruby-identifier">synchronize</span> <span class="ruby-keyword kw">do</span>
|
567
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@recv_buf</span>.<span class="ruby-identifier">key?</span> <span class="ruby-identifier">tag</span>
|
568
|
-
<span class="ruby-ivar">@recv_buf</span>.<span class="ruby-identifier">delete</span> <span class="ruby-identifier">tag</span>
|
569
|
-
<span class="ruby-keyword kw">else</span>
|
570
|
-
<span class="ruby-comment cmt"># reply was not in the receive buffer, so wait</span>
|
571
|
-
<span class="ruby-comment cmt"># for the next reply... hoping that it is ours</span>
|
572
|
-
<span class="ruby-identifier">msg</span> = <span class="ruby-constant">Fcall</span>.<span class="ruby-identifier">from_9p</span>(<span class="ruby-ivar">@stream</span>)
|
573
|
-
|
574
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">tag</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">tag</span>
|
575
|
-
<span class="ruby-identifier">msg</span>
|
576
|
-
<span class="ruby-keyword kw">else</span>
|
577
|
-
<span class="ruby-comment cmt"># we got someone else's reply, so buffer</span>
|
578
|
-
<span class="ruby-comment cmt"># it (for them to receive) and try again</span>
|
579
|
-
<span class="ruby-ivar">@recv_buf</span>[<span class="ruby-identifier">msg</span>.<span class="ruby-identifier">tag</span>] = <span class="ruby-identifier">msg</span>
|
580
|
-
<span class="ruby-keyword kw">nil</span>
|
581
|
-
<span class="ruby-keyword kw">end</span>
|
582
|
-
<span class="ruby-keyword kw">end</span>
|
583
|
-
<span class="ruby-keyword kw">end</span>
|
584
|
-
|
585
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reply</span>
|
586
|
-
<span class="ruby-ivar">@tag_pool</span>.<span class="ruby-identifier">release</span> <span class="ruby-identifier">tag</span>
|
587
|
-
|
588
|
-
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reply</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Rerror</span>
|
589
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Error</span>, <span class="ruby-identifier">reply</span>.<span class="ruby-identifier">ename</span>
|
590
|
-
<span class="ruby-keyword kw">end</span>
|
591
|
-
|
592
|
-
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">reply</span>
|
593
|
-
<span class="ruby-keyword kw">else</span>
|
594
|
-
<span class="ruby-comment cmt"># give other threads a chance to receive</span>
|
595
|
-
<span class="ruby-constant">Thread</span>.<span class="ruby-identifier">pass</span>
|
596
|
-
<span class="ruby-keyword kw">end</span>
|
597
|
-
<span class="ruby-keyword kw">end</span>
|
598
|
-
<span class="ruby-keyword kw">end</span></pre>
|
599
|
-
</div>
|
600
|
-
</div>
|
601
|
-
|
602
|
-
</div>
|
603
|
-
|
604
|
-
<div class="method">
|
605
|
-
<div class="title" id="M000093">
|
606
|
-
|
607
|
-
<a name="M000093"></a><b>remove</b>(path)
|
608
|
-
|
609
|
-
</div>
|
610
|
-
|
611
|
-
<div class="description">
|
612
|
-
<p>
|
613
|
-
Deletes the file at the given path.
|
614
|
-
</p>
|
615
|
-
|
616
|
-
</div>
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
<div class="sourcecode">
|
622
|
-
<p class="source-link">
|
623
|
-
Source: <a href="javascript:toggleSource('M000093_source')" id="l_M000093_source">show</a>
|
624
|
-
|
625
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L404" target="_blank" class="github_url">on GitHub</a>
|
626
|
-
|
627
|
-
</p>
|
628
|
-
<div id="M000093_source" class="dyn-source">
|
629
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 404</span>
|
630
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span> <span class="ruby-identifier">path</span>
|
631
|
-
<span class="ruby-identifier">path_fid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">path</span>)
|
632
|
-
<span class="ruby-identifier">remove_fid</span> <span class="ruby-identifier">path_fid</span> <span class="ruby-comment cmt"># remove also does clunk</span>
|
633
|
-
<span class="ruby-keyword kw">end</span></pre>
|
634
|
-
</div>
|
635
|
-
</div>
|
636
|
-
|
637
|
-
</div>
|
638
|
-
|
639
|
-
<div class="method">
|
640
|
-
<div class="title" id="M000096">
|
641
|
-
|
642
|
-
<a name="M000096"></a><b>remove_fid</b>(path_fid)
|
643
|
-
|
644
|
-
</div>
|
645
|
-
|
646
|
-
<div class="description">
|
647
|
-
<p>
|
648
|
-
Deletes the file corresponding to the given FID and clunks the given FID.
|
649
|
-
</p>
|
650
|
-
|
651
|
-
</div>
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
<div class="sourcecode">
|
657
|
-
<p class="source-link">
|
658
|
-
Source: <a href="javascript:toggleSource('M000096_source')" id="l_M000096_source">show</a>
|
659
|
-
|
660
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L413" target="_blank" class="github_url">on GitHub</a>
|
661
|
-
|
662
|
-
</p>
|
663
|
-
<div id="M000096_source" class="dyn-source">
|
664
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 413</span>
|
665
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_fid</span> <span class="ruby-identifier">path_fid</span>
|
666
|
-
<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">></span> <span class="ruby-identifier">path_fid</span>)
|
667
|
-
<span class="ruby-keyword kw">end</span></pre>
|
668
|
-
</div>
|
669
|
-
</div>
|
670
|
-
|
671
|
-
</div>
|
672
|
-
|
673
|
-
<div class="method">
|
674
|
-
<div class="title" id="M000054">
|
675
|
-
|
676
|
-
<a name="M000054"></a><b>send</b>(request)
|
677
|
-
|
678
|
-
</div>
|
679
|
-
|
680
|
-
<div class="description">
|
681
|
-
<p>
|
682
|
-
Sends the given request (<a href="Fcall.html">Rumai::IXP::Fcall</a>) and
|
683
|
-
returns a ticket that you can use later to receive the reply.
|
684
|
-
</p>
|
685
|
-
|
686
|
-
</div>
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
<div class="sourcecode">
|
692
|
-
<p class="source-link">
|
693
|
-
Source: <a href="javascript:toggleSource('M000054_source')" id="l_M000054_source">show</a>
|
694
|
-
|
695
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L111" target="_blank" class="github_url">on GitHub</a>
|
696
|
-
|
697
|
-
</p>
|
698
|
-
<div id="M000054_source" class="dyn-source">
|
699
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 111</span>
|
700
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send</span> <span class="ruby-identifier">request</span>
|
701
|
-
<span class="ruby-identifier">tag</span> = <span class="ruby-ivar">@tag_pool</span>.<span class="ruby-identifier">obtain</span>
|
702
|
-
|
703
|
-
<span class="ruby-identifier">request</span>.<span class="ruby-identifier">tag</span> = <span class="ruby-identifier">tag</span>
|
704
|
-
<span class="ruby-ivar">@stream</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">request</span>.<span class="ruby-identifier">to_9p</span>
|
705
|
-
|
706
|
-
<span class="ruby-identifier">tag</span>
|
707
|
-
<span class="ruby-keyword kw">end</span></pre>
|
708
|
-
</div>
|
709
|
-
</div>
|
710
|
-
|
711
|
-
</div>
|
712
|
-
|
713
|
-
<div class="method">
|
714
|
-
<div class="title" id="M000097">
|
715
|
-
|
716
|
-
<a name="M000097"></a><b>stat</b>(path)
|
717
|
-
|
718
|
-
</div>
|
719
|
-
|
720
|
-
<div class="description">
|
721
|
-
<p>
|
722
|
-
Returns information about the file at the given path.
|
723
|
-
</p>
|
724
|
-
|
725
|
-
</div>
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
<div class="sourcecode">
|
731
|
-
<p class="source-link">
|
732
|
-
Source: <a href="javascript:toggleSource('M000097_source')" id="l_M000097_source">show</a>
|
733
|
-
|
734
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L420" target="_blank" class="github_url">on GitHub</a>
|
735
|
-
|
736
|
-
</p>
|
737
|
-
<div id="M000097_source" class="dyn-source">
|
738
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 420</span>
|
739
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stat</span> <span class="ruby-identifier">path</span>
|
740
|
-
<span class="ruby-identifier">with_fid</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path_fid</span><span class="ruby-operator">|</span>
|
741
|
-
<span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">path_fid</span>, <span class="ruby-identifier">path</span>
|
742
|
-
<span class="ruby-identifier">stat_fid</span> <span class="ruby-identifier">path_fid</span>
|
743
|
-
<span class="ruby-keyword kw">end</span>
|
744
|
-
<span class="ruby-keyword kw">end</span></pre>
|
745
|
-
</div>
|
746
|
-
</div>
|
747
|
-
|
748
|
-
</div>
|
749
|
-
|
750
|
-
<div class="method">
|
751
|
-
<div class="title" id="M000098">
|
752
|
-
|
753
|
-
<a name="M000098"></a><b>stat_fid</b>(path_fid)
|
754
|
-
|
755
|
-
</div>
|
756
|
-
|
757
|
-
<div class="description">
|
758
|
-
<p>
|
759
|
-
Returns information about the file referenced by the given FID.
|
760
|
-
</p>
|
761
|
-
|
762
|
-
</div>
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
<div class="sourcecode">
|
768
|
-
<p class="source-link">
|
769
|
-
Source: <a href="javascript:toggleSource('M000098_source')" id="l_M000098_source">show</a>
|
770
|
-
|
771
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L430" target="_blank" class="github_url">on GitHub</a>
|
772
|
-
|
773
|
-
</p>
|
774
|
-
<div id="M000098_source" class="dyn-source">
|
775
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 430</span>
|
776
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stat_fid</span> <span class="ruby-identifier">path_fid</span>
|
777
|
-
<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">></span> <span class="ruby-identifier">path_fid</span>)
|
778
|
-
<span class="ruby-identifier">rsp</span> = <span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
|
779
|
-
<span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">stat</span>
|
780
|
-
<span class="ruby-keyword kw">end</span></pre>
|
781
|
-
</div>
|
782
|
-
</div>
|
783
|
-
|
784
|
-
</div>
|
785
|
-
|
786
|
-
<div class="method">
|
787
|
-
<div class="title" id="M000057">
|
788
|
-
|
789
|
-
<a name="M000057"></a><b>talk</b>(request)
|
790
|
-
|
791
|
-
</div>
|
792
|
-
|
793
|
-
<div class="description">
|
794
|
-
<p>
|
795
|
-
Sends the given request (<a href="Fcall.html">Rumai::IXP::Fcall</a>) and
|
796
|
-
returns its reply.
|
797
|
-
</p>
|
798
|
-
|
799
|
-
</div>
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
<div class="sourcecode">
|
805
|
-
<p class="source-link">
|
806
|
-
Source: <a href="javascript:toggleSource('M000057_source')" id="l_M000057_source">show</a>
|
807
|
-
|
808
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L163" target="_blank" class="github_url">on GitHub</a>
|
809
|
-
|
810
|
-
</p>
|
811
|
-
<div id="M000057_source" class="dyn-source">
|
812
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 163</span>
|
813
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">talk</span> <span class="ruby-identifier">request</span>
|
814
|
-
<span class="ruby-identifier">tag</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">request</span>)
|
815
|
-
|
816
|
-
<span class="ruby-keyword kw">begin</span>
|
817
|
-
<span class="ruby-identifier">recv</span> <span class="ruby-identifier">tag</span>
|
818
|
-
<span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Error</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
819
|
-
<span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator"><<</span> <span class="ruby-node">" -- in reply to #{request.inspect}"</span>
|
820
|
-
<span class="ruby-identifier">raise</span>
|
821
|
-
<span class="ruby-keyword kw">end</span>
|
822
|
-
<span class="ruby-keyword kw">end</span></pre>
|
823
|
-
</div>
|
824
|
-
</div>
|
825
|
-
|
826
|
-
</div>
|
827
|
-
|
828
|
-
<div class="method">
|
829
|
-
<div class="title" id="M000101">
|
830
|
-
|
831
|
-
<a name="M000101"></a><b>walk</b>(path)
|
832
|
-
|
833
|
-
</div>
|
834
|
-
|
835
|
-
<div class="description">
|
836
|
-
<p>
|
837
|
-
Returns an FID corresponding to the given path.
|
838
|
-
</p>
|
839
|
-
|
840
|
-
</div>
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
<div class="sourcecode">
|
846
|
-
<p class="source-link">
|
847
|
-
Source: <a href="javascript:toggleSource('M000101_source')" id="l_M000101_source">show</a>
|
848
|
-
|
849
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L439" target="_blank" class="github_url">on GitHub</a>
|
850
|
-
|
851
|
-
</p>
|
852
|
-
<div id="M000101_source" class="dyn-source">
|
853
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 439</span>
|
854
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">walk</span> <span class="ruby-identifier">path</span>
|
855
|
-
<span class="ruby-identifier">fid</span> = <span class="ruby-ivar">@fid_pool</span>.<span class="ruby-identifier">obtain</span>
|
856
|
-
<span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">fid</span>, <span class="ruby-identifier">path</span>
|
857
|
-
<span class="ruby-identifier">fid</span>
|
858
|
-
<span class="ruby-keyword kw">end</span></pre>
|
859
|
-
</div>
|
860
|
-
</div>
|
861
|
-
|
862
|
-
</div>
|
863
|
-
|
864
|
-
<div class="method">
|
865
|
-
<div class="title" id="M000102">
|
866
|
-
|
867
|
-
<a name="M000102"></a><b>walk_fid</b>(path_fid, path)
|
868
|
-
|
869
|
-
</div>
|
870
|
-
|
871
|
-
<div class="description">
|
872
|
-
<p>
|
873
|
-
Associates the given FID to the given path.
|
874
|
-
</p>
|
875
|
-
|
876
|
-
</div>
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
<div class="sourcecode">
|
882
|
-
<p class="source-link">
|
883
|
-
Source: <a href="javascript:toggleSource('M000102_source')" id="l_M000102_source">show</a>
|
884
|
-
|
885
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L448" target="_blank" class="github_url">on GitHub</a>
|
886
|
-
|
887
|
-
</p>
|
888
|
-
<div id="M000102_source" class="dyn-source">
|
889
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 448</span>
|
890
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">walk_fid</span> <span class="ruby-identifier">path_fid</span>, <span class="ruby-identifier">path</span>
|
891
|
-
<span class="ruby-identifier">talk</span> <span class="ruby-constant">Twalk</span>.<span class="ruby-identifier">new</span>(
|
892
|
-
<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@root_fid</span>,
|
893
|
-
<span class="ruby-identifier">:newfid</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">path_fid</span>,
|
894
|
-
<span class="ruby-identifier">:wname</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">path</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> }
|
895
|
-
)
|
896
|
-
<span class="ruby-keyword kw">end</span></pre>
|
897
|
-
</div>
|
898
|
-
</div>
|
899
|
-
|
900
|
-
</div>
|
901
|
-
|
902
|
-
<div class="method">
|
903
|
-
<div class="title" id="M000085">
|
904
|
-
|
905
|
-
<a name="M000085"></a><b>write</b>(path, content)
|
906
|
-
|
907
|
-
</div>
|
908
|
-
|
909
|
-
<div class="description">
|
910
|
-
<p>
|
911
|
-
Writes the given content to the file at the given path.
|
912
|
-
</p>
|
913
|
-
|
914
|
-
</div>
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
<div class="sourcecode">
|
920
|
-
<p class="source-link">
|
921
|
-
Source: <a href="javascript:toggleSource('M000085_source')" id="l_M000085_source">show</a>
|
922
|
-
|
923
|
-
| <a href="http://github.com/sunaku/rumai/blob/947d8ffb1e3c2bd1aebfca5fae4e7ebb7913607f/lib/rumai/ixp/transport.rb#L372" target="_blank" class="github_url">on GitHub</a>
|
924
|
-
|
925
|
-
</p>
|
926
|
-
<div id="M000085_source" class="dyn-source">
|
927
|
-
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 372</span>
|
928
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">content</span>
|
929
|
-
<span class="ruby-identifier">open</span> <span class="ruby-identifier">path</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>
|
930
|
-
<span class="ruby-identifier">f</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">content</span>
|
931
|
-
<span class="ruby-keyword kw">end</span>
|
932
|
-
<span class="ruby-keyword kw">end</span></pre>
|
933
|
-
</div>
|
934
|
-
</div>
|
935
|
-
|
936
|
-
</div>
|
937
|
-
|
938
|
-
</div>
|
939
|
-
</div>
|
940
|
-
</body>
|
941
|
-
</html>
|