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 =&gt; 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">&gt;</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">&gt;</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">&gt;</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">&gt;</span> <span class="ruby-identifier">pathFid</span>, + <span class="ruby-identifier">:mode</span> =<span class="ruby-operator">&gt;</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">&quot;protocol mismatch: self=#{req.version.inspect} server=#{rsp.version.inspect}&quot;</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