rumai 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CREDITS +2 -0
- data/bin/rumai +20 -8
- data/doc/api/classes/IO.html +72 -0
- data/doc/api/classes/Integer.html +110 -0
- data/doc/api/classes/Object.html +60 -0
- data/doc/api/classes/Rumai.html +867 -0
- data/doc/api/classes/Rumai/Area.html +836 -0
- data/doc/api/classes/Rumai/Chain.html +197 -0
- data/doc/api/classes/Rumai/Client.html +865 -0
- data/doc/api/classes/Rumai/ClientContainer.html +191 -0
- data/doc/api/classes/Rumai/ExportInstanceMethods.html +69 -0
- data/doc/api/classes/Rumai/IXP.html +131 -0
- data/doc/api/classes/Rumai/IXP/Agent.html +836 -0
- data/doc/api/classes/Rumai/IXP/Agent/FidStream.html +456 -0
- data/doc/api/classes/Rumai/IXP/Agent/MODES.html +108 -0
- data/doc/api/classes/Rumai/IXP/Agent/RangedPool.html +241 -0
- data/doc/api/classes/Rumai/IXP/Error.html +67 -0
- data/doc/api/classes/Rumai/IXP/Fcall.html +323 -0
- data/doc/api/classes/Rumai/IXP/Qid.html +153 -0
- data/doc/api/classes/Rumai/IXP/Rattach.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rauth.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rclunk.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rcreate.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rerror.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rflush.html +67 -0
- data/doc/api/classes/Rumai/IXP/Ropen.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rread.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rremove.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rstat.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rversion.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rwalk.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rwrite.html +67 -0
- data/doc/api/classes/Rumai/IXP/Rwstat.html +67 -0
- data/doc/api/classes/Rumai/IXP/Stat.html +252 -0
- data/doc/api/classes/Rumai/IXP/Stream.html +131 -0
- data/doc/api/classes/Rumai/IXP/Struct.html +315 -0
- data/doc/api/classes/Rumai/IXP/Struct/Field.html +415 -0
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounteeField.html +153 -0
- data/doc/api/classes/Rumai/IXP/Struct/Field/CounterField.html +104 -0
- data/doc/api/classes/Rumai/IXP/Tattach.html +68 -0
- data/doc/api/classes/Rumai/IXP/Tauth.html +67 -0
- data/doc/api/classes/Rumai/IXP/Tclunk.html +67 -0
- data/doc/api/classes/Rumai/IXP/Tcreate.html +68 -0
- data/doc/api/classes/Rumai/IXP/Terror.html +110 -0
- data/doc/api/classes/Rumai/IXP/Tflush.html +67 -0
- data/doc/api/classes/Rumai/IXP/Topen.html +165 -0
- data/doc/api/classes/Rumai/IXP/Tread.html +67 -0
- data/doc/api/classes/Rumai/IXP/Tremove.html +67 -0
- data/doc/api/classes/Rumai/IXP/Tstat.html +67 -0
- data/doc/api/classes/Rumai/IXP/Tversion.html +86 -0
- data/doc/api/classes/Rumai/IXP/Twalk.html +68 -0
- data/doc/api/classes/Rumai/IXP/Twrite.html +68 -0
- data/doc/api/classes/Rumai/IXP/Twstat.html +67 -0
- data/doc/api/classes/Rumai/Node.html +817 -0
- data/doc/api/classes/Rumai/View.html +818 -0
- data/doc/api/classes/Rumai/WidgetImpl.html +65 -0
- data/doc/api/classes/Rumai/WidgetNode.html +68 -0
- data/doc/api/classes/String.html +163 -0
- data/doc/api/classes/StringIO.html +72 -0
- data/doc/api/classes/Time.html +156 -0
- data/doc/api/created.rid +1 -0
- data/doc/api/css/main.css +263 -0
- data/doc/api/css/panel.css +383 -0
- data/doc/api/css/reset.css +53 -0
- data/doc/api/files/CREDITS.html +64 -0
- data/doc/api/files/LICENSE.html +76 -0
- data/doc/api/files/lib/rumai/fs_rb.html +75 -0
- data/doc/api/files/lib/rumai/ixp/message_rb.html +91 -0
- data/doc/api/files/lib/rumai/ixp/transport_rb.html +75 -0
- data/doc/api/files/lib/rumai/ixp_rb.html +69 -0
- data/doc/api/files/lib/rumai/wm_rb.html +77 -0
- data/doc/api/files/lib/rumai_rb.html +65 -0
- 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/index.html +14 -18
- data/doc/api/js/jquery-1.3.2.min.js +19 -0
- data/doc/api/js/jquery-effect.js +593 -0
- data/doc/api/js/main.js +22 -0
- data/doc/api/js/searchdoc.js +605 -0
- data/doc/api/panel/index.html +63 -0
- data/doc/api/panel/search_index.js +1 -0
- data/doc/api/panel/tree.js +1 -0
- data/doc/history.erb +41 -16
- data/doc/index.erb +14 -11
- data/doc/index.xhtml +519 -846
- data/doc/intro.erb +33 -32
- data/doc/setup.erb +14 -13
- data/doc/usage.erb +69 -35
- data/lib/rumai.rb +13 -5
- data/lib/rumai/fs.rb +71 -27
- data/lib/rumai/ixp.rb +4 -0
- data/lib/rumai/ixp/message.rb +178 -81
- data/lib/rumai/ixp/transport.rb +144 -91
- data/lib/rumai/wm.rb +717 -593
- data/rakefile +14 -0
- data/test/rumai/ixp/message.rb +42 -54
- metadata +110 -89
- data/Rakefile +0 -8
- data/doc/api/IO.html +0 -53
- data/doc/api/Integer.html +0 -102
- data/doc/api/Object.html +0 -23
- data/doc/api/Rumai.html +0 -1218
- data/doc/api/Rumai/Area.html +0 -1088
- data/doc/api/Rumai/Chain.html +0 -230
- data/doc/api/Rumai/Client.html +0 -1264
- data/doc/api/Rumai/ClientContainer.html +0 -227
- data/doc/api/Rumai/ExportInstMethods.html +0 -115
- data/doc/api/Rumai/IXP.html +0 -23
- data/doc/api/Rumai/IXP/Agent.html +0 -1222
- data/doc/api/Rumai/IXP/Agent/FidStream.html +0 -602
- data/doc/api/Rumai/IXP/Agent/RangedPool.html +0 -263
- data/doc/api/Rumai/IXP/Error.html +0 -32
- data/doc/api/Rumai/IXP/Fcall.html +0 -398
- data/doc/api/Rumai/IXP/Qid.html +0 -99
- data/doc/api/Rumai/IXP/Rattach.html +0 -71
- data/doc/api/Rumai/IXP/Rauth.html +0 -71
- data/doc/api/Rumai/IXP/Rclunk.html +0 -71
- data/doc/api/Rumai/IXP/Rcreate.html +0 -71
- data/doc/api/Rumai/IXP/Rerror.html +0 -71
- data/doc/api/Rumai/IXP/Rflush.html +0 -71
- data/doc/api/Rumai/IXP/Ropen.html +0 -71
- data/doc/api/Rumai/IXP/Rread.html +0 -71
- data/doc/api/Rumai/IXP/Rremove.html +0 -71
- data/doc/api/Rumai/IXP/Rstat.html +0 -71
- data/doc/api/Rumai/IXP/Rversion.html +0 -71
- data/doc/api/Rumai/IXP/Rwalk.html +0 -71
- data/doc/api/Rumai/IXP/Rwrite.html +0 -71
- data/doc/api/Rumai/IXP/Rwstat.html +0 -71
- data/doc/api/Rumai/IXP/Stat.html +0 -188
- data/doc/api/Rumai/IXP/Stream.html +0 -112
- data/doc/api/Rumai/IXP/Struct.html +0 -348
- data/doc/api/Rumai/IXP/Struct/ClassField.html +0 -177
- data/doc/api/Rumai/IXP/Struct/Field.html +0 -549
- data/doc/api/Rumai/IXP/Struct/Field/CounteeField.html +0 -175
- data/doc/api/Rumai/IXP/Struct/Field/CounterField.html +0 -95
- data/doc/api/Rumai/IXP/Struct/Integer8Field.html +0 -181
- data/doc/api/Rumai/IXP/Struct/StringField.html +0 -128
- data/doc/api/Rumai/IXP/Tattach.html +0 -71
- data/doc/api/Rumai/IXP/Tauth.html +0 -71
- data/doc/api/Rumai/IXP/Tclunk.html +0 -71
- data/doc/api/Rumai/IXP/Tcreate.html +0 -71
- data/doc/api/Rumai/IXP/Terror.html +0 -156
- data/doc/api/Rumai/IXP/Tflush.html +0 -71
- data/doc/api/Rumai/IXP/Topen.html +0 -113
- data/doc/api/Rumai/IXP/Tread.html +0 -71
- data/doc/api/Rumai/IXP/Tremove.html +0 -71
- data/doc/api/Rumai/IXP/Tstat.html +0 -71
- data/doc/api/Rumai/IXP/Tversion.html +0 -83
- data/doc/api/Rumai/IXP/Twalk.html +0 -71
- data/doc/api/Rumai/IXP/Twrite.html +0 -71
- data/doc/api/Rumai/IXP/Twstat.html +0 -71
- data/doc/api/Rumai/Node.html +0 -1139
- data/doc/api/Rumai/View.html +0 -1280
- data/doc/api/Rumai/WidgetImpl.html +0 -196
- data/doc/api/Rumai/WidgetNode.html +0 -184
- data/doc/api/String.html +0 -180
- data/doc/api/StringIO.html +0 -53
- data/doc/api/Time.html +0 -175
- data/doc/api/all-methods.html +0 -1436
- data/doc/api/all-namespaces.html +0 -140
- data/doc/api/app.js +0 -18
- data/doc/api/jquery.js +0 -11
- data/doc/api/readme.html +0 -38
- data/doc/api/style.css +0 -68
- data/doc/api/syntax_highlight.css +0 -21
- data/doc/theory.erb +0 -3
|
@@ -0,0 +1,456 @@
|
|
|
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::FidStream</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::FidStream
|
|
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
|
+
Encapsulates I/O access over a file handle (fid).
|
|
40
|
+
</p>
|
|
41
|
+
<p>
|
|
42
|
+
NOTE: this class is NOT thread-safe.
|
|
43
|
+
</p>
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
<div class="sectiontitle">Methods</div>
|
|
56
|
+
<dl class="methods">
|
|
57
|
+
|
|
58
|
+
<dt>#</dt>
|
|
59
|
+
<dd>
|
|
60
|
+
<ul>
|
|
61
|
+
|
|
62
|
+
<li><a href="#M000083"><<</a></li>
|
|
63
|
+
|
|
64
|
+
</ul>
|
|
65
|
+
</dd>
|
|
66
|
+
|
|
67
|
+
<dt>C</dt>
|
|
68
|
+
<dd>
|
|
69
|
+
<ul>
|
|
70
|
+
|
|
71
|
+
<li><a href="#M000073">close</a>,</li>
|
|
72
|
+
|
|
73
|
+
<li><a href="#M000074">closed?</a></li>
|
|
74
|
+
|
|
75
|
+
</ul>
|
|
76
|
+
</dd>
|
|
77
|
+
|
|
78
|
+
<dt>N</dt>
|
|
79
|
+
<dd>
|
|
80
|
+
<ul>
|
|
81
|
+
|
|
82
|
+
<li><a href="#M000069">new</a></li>
|
|
83
|
+
|
|
84
|
+
</ul>
|
|
85
|
+
</dd>
|
|
86
|
+
|
|
87
|
+
<dt>R</dt>
|
|
88
|
+
<dd>
|
|
89
|
+
<ul>
|
|
90
|
+
|
|
91
|
+
<li><a href="#M000077">read</a>,</li>
|
|
92
|
+
|
|
93
|
+
<li><a href="#M000072">rewind</a></li>
|
|
94
|
+
|
|
95
|
+
</ul>
|
|
96
|
+
</dd>
|
|
97
|
+
|
|
98
|
+
<dt>W</dt>
|
|
99
|
+
<dd>
|
|
100
|
+
<ul>
|
|
101
|
+
|
|
102
|
+
<li><a href="#M000081">write</a></li>
|
|
103
|
+
|
|
104
|
+
</ul>
|
|
105
|
+
</dd>
|
|
106
|
+
|
|
107
|
+
</dl>
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
<div class="sectiontitle">Attributes</div>
|
|
120
|
+
<table border='0' cellpadding='5'>
|
|
121
|
+
|
|
122
|
+
<tr valign='top'>
|
|
123
|
+
<td class='attr-rw'>
|
|
124
|
+
[R]
|
|
125
|
+
</td>
|
|
126
|
+
<td class='attr-name'>fid</td>
|
|
127
|
+
<td class='attr-desc'></td>
|
|
128
|
+
</tr>
|
|
129
|
+
|
|
130
|
+
<tr valign='top'>
|
|
131
|
+
<td class='attr-rw'>
|
|
132
|
+
[R]
|
|
133
|
+
</td>
|
|
134
|
+
<td class='attr-name'>stat</td>
|
|
135
|
+
<td class='attr-desc'></td>
|
|
136
|
+
</tr>
|
|
137
|
+
|
|
138
|
+
<tr valign='top'>
|
|
139
|
+
<td class='attr-rw'>
|
|
140
|
+
[R]
|
|
141
|
+
</td>
|
|
142
|
+
<td class='attr-name'>eof</td>
|
|
143
|
+
<td class='attr-desc'></td>
|
|
144
|
+
</tr>
|
|
145
|
+
|
|
146
|
+
<tr valign='top'>
|
|
147
|
+
<td class='attr-rw'>
|
|
148
|
+
[RW]
|
|
149
|
+
</td>
|
|
150
|
+
<td class='attr-name'>pos</td>
|
|
151
|
+
<td class='attr-desc'></td>
|
|
152
|
+
</tr>
|
|
153
|
+
|
|
154
|
+
</table>
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
<div class="sectiontitle">Class Public methods</div>
|
|
159
|
+
|
|
160
|
+
<div class="method">
|
|
161
|
+
<div class="title" id="M000069">
|
|
162
|
+
|
|
163
|
+
<a name="M000069"></a><b>new</b>(agent, path_fid, message_size)
|
|
164
|
+
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
<div class="sourcecode">
|
|
171
|
+
<p class="source-link">
|
|
172
|
+
Source: <a href="javascript:toggleSource('M000069_source')" id="l_M000069_source">show</a>
|
|
173
|
+
|
|
174
|
+
| <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/transport.rb#L196" target="_blank" class="github_url">on GitHub</a>
|
|
175
|
+
|
|
176
|
+
</p>
|
|
177
|
+
<div id="M000069_source" class="dyn-source">
|
|
178
|
+
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 196</span>
|
|
179
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">agent</span>, <span class="ruby-identifier">path_fid</span>, <span class="ruby-identifier">message_size</span>
|
|
180
|
+
<span class="ruby-ivar">@agent</span> = <span class="ruby-identifier">agent</span>
|
|
181
|
+
<span class="ruby-ivar">@fid</span> = <span class="ruby-identifier">path_fid</span>
|
|
182
|
+
<span class="ruby-ivar">@msize</span> = <span class="ruby-identifier">message_size</span>
|
|
183
|
+
<span class="ruby-ivar">@stat</span> = <span class="ruby-ivar">@agent</span>.<span class="ruby-identifier">stat_fid</span>(<span class="ruby-ivar">@fid</span>)
|
|
184
|
+
<span class="ruby-ivar">@closed</span> = <span class="ruby-keyword kw">false</span>
|
|
185
|
+
<span class="ruby-identifier">rewind</span>
|
|
186
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
<div class="sectiontitle">Instance Public methods</div>
|
|
193
|
+
|
|
194
|
+
<div class="method">
|
|
195
|
+
<div class="title" id="M000083">
|
|
196
|
+
|
|
197
|
+
<a name="M000083"></a><b><<</b>(content)
|
|
198
|
+
|
|
199
|
+
</div>
|
|
200
|
+
|
|
201
|
+
<div class="description">
|
|
202
|
+
<p>
|
|
203
|
+
Alias for <a href="FidStream.html#M000081">write</a>
|
|
204
|
+
</p>
|
|
205
|
+
|
|
206
|
+
</div>
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
<div class="method">
|
|
213
|
+
<div class="title" id="M000073">
|
|
214
|
+
|
|
215
|
+
<a name="M000073"></a><b>close</b>()
|
|
216
|
+
|
|
217
|
+
</div>
|
|
218
|
+
|
|
219
|
+
<div class="description">
|
|
220
|
+
<p>
|
|
221
|
+
Closes this stream.
|
|
222
|
+
</p>
|
|
223
|
+
|
|
224
|
+
</div>
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
<div class="sourcecode">
|
|
230
|
+
<p class="source-link">
|
|
231
|
+
Source: <a href="javascript:toggleSource('M000073_source')" id="l_M000073_source">show</a>
|
|
232
|
+
|
|
233
|
+
| <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/transport.rb#L216" target="_blank" class="github_url">on GitHub</a>
|
|
234
|
+
|
|
235
|
+
</p>
|
|
236
|
+
<div id="M000073_source" class="dyn-source">
|
|
237
|
+
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 216</span>
|
|
238
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
|
239
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@closed</span>
|
|
240
|
+
<span class="ruby-ivar">@agent</span>.<span class="ruby-identifier">clunk</span> <span class="ruby-ivar">@fid</span>
|
|
241
|
+
<span class="ruby-ivar">@closed</span> = <span class="ruby-keyword kw">true</span>
|
|
242
|
+
<span class="ruby-ivar">@eof</span> = <span class="ruby-keyword kw">true</span>
|
|
243
|
+
<span class="ruby-keyword kw">end</span>
|
|
244
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
<div class="method">
|
|
251
|
+
<div class="title" id="M000074">
|
|
252
|
+
|
|
253
|
+
<a name="M000074"></a><b>closed?</b>()
|
|
254
|
+
|
|
255
|
+
</div>
|
|
256
|
+
|
|
257
|
+
<div class="description">
|
|
258
|
+
<p>
|
|
259
|
+
Returns true if this stream is closed.
|
|
260
|
+
</p>
|
|
261
|
+
|
|
262
|
+
</div>
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
<div class="sourcecode">
|
|
268
|
+
<p class="source-link">
|
|
269
|
+
Source: <a href="javascript:toggleSource('M000074_source')" id="l_M000074_source">show</a>
|
|
270
|
+
|
|
271
|
+
| <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/transport.rb#L227" target="_blank" class="github_url">on GitHub</a>
|
|
272
|
+
|
|
273
|
+
</p>
|
|
274
|
+
<div id="M000074_source" class="dyn-source">
|
|
275
|
+
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 227</span>
|
|
276
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">closed?</span>
|
|
277
|
+
<span class="ruby-ivar">@closed</span>
|
|
278
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<div class="method">
|
|
285
|
+
<div class="title" id="M000077">
|
|
286
|
+
|
|
287
|
+
<a name="M000077"></a><b>read</b>(partial = false)
|
|
288
|
+
|
|
289
|
+
</div>
|
|
290
|
+
|
|
291
|
+
<div class="description">
|
|
292
|
+
<p>
|
|
293
|
+
Reads some data from this stream at the current position.
|
|
294
|
+
</p>
|
|
295
|
+
<dl>
|
|
296
|
+
<dt>partial</dt><dd>When false, the entire content of this stream is read and returned.
|
|
297
|
+
|
|
298
|
+
<p>
|
|
299
|
+
When true, the maximum amount of content that can fit inside a single
|
|
300
|
+
9P2000 message is read and returned.
|
|
301
|
+
</p>
|
|
302
|
+
</dd>
|
|
303
|
+
</dl>
|
|
304
|
+
<p>
|
|
305
|
+
If this stream corresponds to a directory, then an Array of <a
|
|
306
|
+
href="../Stat.html">Stat</a> (one for each file in the directory) will be
|
|
307
|
+
returned.
|
|
308
|
+
</p>
|
|
309
|
+
|
|
310
|
+
</div>
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
<div class="sourcecode">
|
|
316
|
+
<p class="source-link">
|
|
317
|
+
Source: <a href="javascript:toggleSource('M000077_source')" id="l_M000077_source">show</a>
|
|
318
|
+
|
|
319
|
+
| <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/transport.rb#L244" target="_blank" class="github_url">on GitHub</a>
|
|
320
|
+
|
|
321
|
+
</p>
|
|
322
|
+
<div id="M000077_source" class="dyn-source">
|
|
323
|
+
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 244</span>
|
|
324
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span> <span class="ruby-identifier">partial</span> = <span class="ruby-keyword kw">false</span>
|
|
325
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">'cannot read from a closed stream'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@closed</span>
|
|
326
|
+
|
|
327
|
+
<span class="ruby-identifier">content</span> = <span class="ruby-value str">''</span>
|
|
328
|
+
<span class="ruby-keyword kw">begin</span>
|
|
329
|
+
<span class="ruby-identifier">req</span> = <span class="ruby-constant">Tread</span>.<span class="ruby-identifier">new</span>(
|
|
330
|
+
<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@fid</span>,
|
|
331
|
+
<span class="ruby-identifier">:offset</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@pos</span>,
|
|
332
|
+
<span class="ruby-identifier">:count</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@msize</span>
|
|
333
|
+
)
|
|
334
|
+
<span class="ruby-identifier">rsp</span> = <span class="ruby-ivar">@agent</span>.<span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
|
|
335
|
+
|
|
336
|
+
<span class="ruby-identifier">content</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">data</span>
|
|
337
|
+
<span class="ruby-identifier">count</span> = <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">count</span>
|
|
338
|
+
<span class="ruby-ivar">@pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">count</span>
|
|
339
|
+
<span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">until</span> <span class="ruby-ivar">@eof</span> = <span class="ruby-identifier">count</span>.<span class="ruby-identifier">zero?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">partial</span>
|
|
340
|
+
|
|
341
|
+
<span class="ruby-comment cmt"># the content of a directory is a sequence</span>
|
|
342
|
+
<span class="ruby-comment cmt"># of Stat for all files in that directory</span>
|
|
343
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stat</span>.<span class="ruby-identifier">directory?</span>
|
|
344
|
+
<span class="ruby-identifier">buffer</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">content</span>)
|
|
345
|
+
<span class="ruby-identifier">content</span> = []
|
|
346
|
+
|
|
347
|
+
<span class="ruby-keyword kw">until</span> <span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">eof?</span>
|
|
348
|
+
<span class="ruby-identifier">content</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Stat</span>.<span class="ruby-identifier">from_9p</span>(<span class="ruby-identifier">buffer</span>)
|
|
349
|
+
<span class="ruby-keyword kw">end</span>
|
|
350
|
+
<span class="ruby-keyword kw">end</span>
|
|
351
|
+
|
|
352
|
+
<span class="ruby-identifier">content</span>
|
|
353
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
354
|
+
</div>
|
|
355
|
+
</div>
|
|
356
|
+
|
|
357
|
+
</div>
|
|
358
|
+
|
|
359
|
+
<div class="method">
|
|
360
|
+
<div class="title" id="M000072">
|
|
361
|
+
|
|
362
|
+
<a name="M000072"></a><b>rewind</b>()
|
|
363
|
+
|
|
364
|
+
</div>
|
|
365
|
+
|
|
366
|
+
<div class="description">
|
|
367
|
+
<p>
|
|
368
|
+
Rewinds the stream to the beginning.
|
|
369
|
+
</p>
|
|
370
|
+
|
|
371
|
+
</div>
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
<div class="sourcecode">
|
|
377
|
+
<p class="source-link">
|
|
378
|
+
Source: <a href="javascript:toggleSource('M000072_source')" id="l_M000072_source">show</a>
|
|
379
|
+
|
|
380
|
+
| <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/transport.rb#L208" target="_blank" class="github_url">on GitHub</a>
|
|
381
|
+
|
|
382
|
+
</p>
|
|
383
|
+
<div id="M000072_source" class="dyn-source">
|
|
384
|
+
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 208</span>
|
|
385
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rewind</span>
|
|
386
|
+
<span class="ruby-ivar">@pos</span> = <span class="ruby-value">0</span>
|
|
387
|
+
<span class="ruby-ivar">@eof</span> = <span class="ruby-keyword kw">false</span>
|
|
388
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
389
|
+
</div>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
</div>
|
|
393
|
+
|
|
394
|
+
<div class="method">
|
|
395
|
+
<div class="title" id="M000081">
|
|
396
|
+
|
|
397
|
+
<a name="M000081"></a><b>write</b>(content)
|
|
398
|
+
|
|
399
|
+
</div>
|
|
400
|
+
|
|
401
|
+
<div class="description">
|
|
402
|
+
<p>
|
|
403
|
+
Writes the given content at the current position in this stream.
|
|
404
|
+
</p>
|
|
405
|
+
|
|
406
|
+
</div>
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
<div class="aka">
|
|
410
|
+
This method is also aliased as
|
|
411
|
+
|
|
412
|
+
<a href="FidStream.html#M000083"><<</a>
|
|
413
|
+
|
|
414
|
+
</div>
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
<div class="sourcecode">
|
|
419
|
+
<p class="source-link">
|
|
420
|
+
Source: <a href="javascript:toggleSource('M000081_source')" id="l_M000081_source">show</a>
|
|
421
|
+
|
|
422
|
+
| <a href="http://github.com/sunaku/rumai/blob/5fcf09b89976a53dd9346e335a1803b337e0c447/lib/rumai/ixp/transport.rb#L278" target="_blank" class="github_url">on GitHub</a>
|
|
423
|
+
|
|
424
|
+
</p>
|
|
425
|
+
<div id="M000081_source" class="dyn-source">
|
|
426
|
+
<pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 278</span>
|
|
427
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span> <span class="ruby-identifier">content</span>
|
|
428
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">'closed streams cannot be written to'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@closed</span>
|
|
429
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">'directories cannot be written to'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stat</span>.<span class="ruby-identifier">directory?</span>
|
|
430
|
+
|
|
431
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_s</span>
|
|
432
|
+
<span class="ruby-identifier">limit</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@pos</span>
|
|
433
|
+
|
|
434
|
+
<span class="ruby-keyword kw">while</span> <span class="ruby-ivar">@pos</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">limit</span>
|
|
435
|
+
<span class="ruby-identifier">chunk</span> = <span class="ruby-identifier">data</span>[<span class="ruby-ivar">@pos</span>, <span class="ruby-ivar">@msize</span>]
|
|
436
|
+
|
|
437
|
+
<span class="ruby-identifier">req</span> = <span class="ruby-constant">Twrite</span>.<span class="ruby-identifier">new</span>(
|
|
438
|
+
<span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@fid</span>,
|
|
439
|
+
<span class="ruby-identifier">:offset</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@pos</span>,
|
|
440
|
+
<span class="ruby-identifier">:count</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">chunk</span>.<span class="ruby-identifier">length</span>,
|
|
441
|
+
<span class="ruby-identifier">:data</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">chunk</span>
|
|
442
|
+
)
|
|
443
|
+
<span class="ruby-identifier">rsp</span> = <span class="ruby-ivar">@agent</span>.<span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
|
|
444
|
+
|
|
445
|
+
<span class="ruby-ivar">@pos</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">count</span>
|
|
446
|
+
<span class="ruby-keyword kw">end</span>
|
|
447
|
+
<span class="ruby-keyword kw">end</span></pre>
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
|
|
451
|
+
</div>
|
|
452
|
+
|
|
453
|
+
</div>
|
|
454
|
+
</div>
|
|
455
|
+
</body>
|
|
456
|
+
</html>
|