doc/api/classes/Rumai/IXP/Agent.src/M000046.html in rumai-1.0.0 vs doc/api/classes/Rumai/IXP/Agent.src/M000046.html in rumai-2.0.0
- old
+ new
@@ -3,45 +3,37 @@
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>new (Rumai::IXP::Agent)</title>
+ <title>open (Rumai::IXP::Agent)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
</head>
<body class="standalone-code">
- <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 16</span>
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">aStream</span>
- <span class="ruby-ivar">@stream</span> = <span class="ruby-identifier">aStream</span>
- <span class="ruby-ivar">@sendLock</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
- <span class="ruby-ivar">@recvLock</span> = <span class="ruby-constant">Mutex</span>.<span class="ruby-identifier">new</span>
+ <pre><span class="ruby-comment cmt"># File lib/rumai/ixp/transport.rb, line 147</span>
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span> <span class="ruby-identifier">aPath</span>, <span class="ruby-identifier">aMode</span> = <span class="ruby-value str">'r'</span> <span class="ruby-comment cmt"># :yields: FidStream</span>
+ <span class="ruby-identifier">mode</span> = <span class="ruby-constant">MODES</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">aMode</span>)
- <span class="ruby-ivar">@responses</span> = {} <span class="ruby-comment cmt"># tag => message</span>
- <span class="ruby-ivar">@tagPool</span> = <span class="ruby-constant">RangedPool</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-constant">BYTE2_MASK</span>)
+ <span class="ruby-comment cmt"># open the file</span>
+ <span class="ruby-identifier">pathFid</span> = <span class="ruby-identifier">walk</span>(<span class="ruby-identifier">aPath</span>)
- <span class="ruby-ivar">@fidPool</span> = <span class="ruby-constant">RangedPool</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-constant">BYTE4_MASK</span>)
- <span class="ruby-ivar">@msize</span> = <span class="ruby-constant">Tversion</span><span class="ruby-operator">::</span><span class="ruby-constant">MSIZE</span>
-
- <span class="ruby-comment cmt"># establish connection with 9P2000 server</span>
- <span class="ruby-identifier">req</span> = <span class="ruby-constant">Tversion</span>.<span class="ruby-identifier">new</span>(
- <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>,
- <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>,
- <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>
+ <span class="ruby-identifier">talk</span> <span class="ruby-constant">Topen</span>.<span class="ruby-identifier">new</span>(
+ <span class="ruby-identifier">:fid</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">pathFid</span>,
+ <span class="ruby-identifier">:mode</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">mode</span>
)
- <span class="ruby-identifier">rsp</span> = <span class="ruby-identifier">talk</span>(<span class="ruby-identifier">req</span>)
- <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>
- <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>
- <span class="ruby-keyword kw">end</span>
+ <span class="ruby-identifier">stream</span> = <span class="ruby-constant">FidStream</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">pathFid</span>, <span class="ruby-ivar">@msize</span>)
- <span class="ruby-ivar">@msize</span> = <span class="ruby-identifier">rsp</span>.<span class="ruby-identifier">msize</span>
-
- <span class="ruby-comment cmt"># authenticate the connection (not necessary for wmii)</span>
- <span class="ruby-ivar">@authFid</span> = <span class="ruby-constant">Fcall</span><span class="ruby-operator">::</span><span class="ruby-constant">NOFID</span>
-
- <span class="ruby-comment cmt"># attach to filesystem root</span>
- <span class="ruby-ivar">@rootFid</span> = <span class="ruby-ivar">@fidPool</span>.<span class="ruby-identifier">obtain</span>
- <span class="ruby-identifier">attach</span> <span class="ruby-ivar">@rootFid</span>, <span class="ruby-ivar">@authFid</span>
+ <span class="ruby-comment cmt"># return the file stream</span>
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
+ <span class="ruby-keyword kw">begin</span>
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">stream</span>
+ <span class="ruby-keyword kw">ensure</span>
+ <span class="ruby-identifier">stream</span>.<span class="ruby-identifier">close</span>
+ <span class="ruby-keyword kw">end</span>
+ <span class="ruby-keyword kw">else</span>
+ <span class="ruby-identifier">stream</span>
+ <span class="ruby-keyword kw">end</span>
<span class="ruby-keyword kw">end</span></pre>
</body>
</html>
\ No newline at end of file