autodoc.git / traditional_manual / chapter_9.html

version» Context lines:

autodoc.git/traditional_manual/chapter_9.html:1479:   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><code>set_blocking()</code>, <code>set_callbacks</code>, <code>set_read_callback()</code>,    <code>set_write_callback()</code>, <code>set_read_oob_callback()</code>,    <code>set_write_oob_callback()</code>, <code>set_close_callback()</code>    <code>set_nonblocking_keep_callbacks()</code>,    <code>set_blocking_keep_callbacks()</code></p>   </dd></dl>   </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.FILE</b></h2>   </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Annotations</dt> + <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>File</code>)</code></pre></dd>   <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p><code>Stdio.FILE</code> is a buffered version of <code>Stdio.File</code>, it inherits    <code>Stdio.File</code> and has most of the functionality of <code>Stdio.File</code>.    However, it has an input buffer that allows line-by-line input.</p>   <p> It also has support for automatic charset conversion for both input    and output (see <code>Stdio.FILE()-&gt;set_charset()</code>).</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>The output part of <code>Stdio.FILE</code> is currently not buffered.</p>   </dd></dl>
autodoc.git/traditional_manual/chapter_9.html:3968:   </dd>   <dt class='head--doc'>Returns</dt>   <dd class='body--doc'><p>Returns the number of bytes written, i.e. <code class='expr'>sizeof(str)</code>.</p>   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><code>append_file()</code>, <code>read_bytes()</code>, <code>Stdio.File()-&gt;open()</code></p>   </dd></dl>   <dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.BlockFile</b></h2>   </dt><dd><dl class='group--doc'>   <dt class='head--doc'>Annotations</dt> - <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>Stream</code>)</code></pre></dd> + <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>InputBlockFile</code>)</code></pre></dd><dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>Stream</code>)</code></pre></dd>   <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>The Stdio.BlockFile API.</p>   <p> This class exists purely for typing reasons.</p>   <p> Use in types in place of <code>Stdio.File</code> where only blocking    I/O is done with the object.</p>   </dd>   <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>Stream</code>, <code>NonblockingStream</code>, <code>File</code>, <code>FILE</code></p> + <dd class='body--doc'><p><code>Stream</code>, <code>NonblockingStream</code>, <code>InputBlockStream</code>, <code>File</code>, <code>FILE</code></p>   </dd></dl>      <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Inherit</span> - <span class='homogen--name'><b>Stream</b></span> + <span class='homogen--name'><b>InputBlockFile</b></span>   </dt> - <dd><p><code><span class='datatype'>inherit Stream</span> : <span class='inherit'>Stream</span></code></p></dd> + <dd><p><code><span class='datatype'>inherit InputBlockFile</span> : <span class='inherit'>InputBlockFile</span></code></p></dd>   </dl>         <hr />   <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>seek</b></span> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>OutputStreamMixin</b></span>   </dt> - <dd><p><code><code class='datatype'>int</code> <b><span class='method'>seek</span>(</b><code class='datatype'>int</code> <code class='argument'>to</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>how</code><b>)</b></code></p></dd> + <dd><p><code><span class='datatype'>inherit OutputStreamMixin</span> : <span class='inherit'>OutputStreamMixin</span></code></p></dd>   </dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>tell</b></span> - </dt> - <dd><p><code><code class='datatype'>int</code> <b><span class='method'>tell</span>(</b><b>)</b></code></p></dd> - </dl> +    </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.FakeFile</b></h2>   </dt><dd><dl class='group--doc'>   <dt class='head--doc'>Annotations</dt>   <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>Stdio.BlockFile</code>)</code></pre></dd><dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>Stdio.NonblockingStream</code>)</code></pre></dd>   <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>A string wrapper that pretends to be a <code>Stdio.File</code> object    in addition to some features of a <code>Stdio.FILE</code> object.</p>   </dd></dl>      <hr />
autodoc.git/traditional_manual/chapter_9.html:4729:   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>write</b></span>   </dt>   <dd><p><code><code class='datatype'>int</code> <b><span class='method'>write</span>(</b><code class='object unresolved'>sprintf_format</code>|<code class='datatype'>array</code>(<code class='datatype'>string(8bit)</code>) <code class='argument'>data</code>, <code class='object unresolved'>sprintf_args</code> ... <code class='argument'>args</code><b>)</b></code></p></dd>   </dl> - </dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.NonblockingStream</b></h2> + </dd></dl></dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.InputBlockFile</b></h2>   </dt><dd><dl class='group--doc'>   <dt class='head--doc'>Annotations</dt> - <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>Stream</code>)</code></pre></dd> + <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>InputStream</code>)</code></pre></dd>   <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>The Stdio.NonblockingStream API.</p> + <dd class='body--doc'><p>The Stdio.InputBlockFile API.</p>   <p> This class exists purely for typing reasons.</p> -  + <p> Use in types in place of <code>Stdio.File</code> where only blocking +  I/O in the read direction is done with the object.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>InputStream</code>, <code>NonblockingInputStream</code>, <code>BlockFile</code>, <code>File</code>, <code>FILE</code></p> + </dd></dl> +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>InputStream</b></span> + </dt> + <dd><p><code><span class='datatype'>inherit InputStream</span> : <span class='inherit'>InputStream</span></code></p></dd> + </dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>seek</b></span> + </dt> + <dd><p><code><code class='datatype'>int</code> <b><span class='method'>seek</span>(</b><code class='datatype'>int</code> <code class='argument'>to</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>how</code><b>)</b></code></p></dd> + </dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>tell</b></span> + </dt> + <dd><p><code><code class='datatype'>int</code> <b><span class='method'>tell</span>(</b><b>)</b></code></p></dd> + </dl> + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.InputStream</b></h2> + </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The Stdio.InputStream API.</p> + <p> This class exists purely for typing reasons.</p> + <p> Use in types in place of <code>Stdio.File</code> where only blocking +  stream-oriented I/O in the read direction is done with the object.</p> + <p> This class lists the minimum functionality guaranteed to exist in +  all Stream objects that are opened for reading.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stream</code>, <code>NonblockingInputStream</code>, <code>InputBlockFile</code>, <code>File</code>, <code>FILE</code></p> + </dd></dl> +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>close</b></span> + </dt> + <dd><p><code><code class='datatype'>int</code> <b><span class='method'>close</span>(</b><b>)</b></code></p></dd> + </dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>read</b></span> + </dt> + <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read</span>(</b><code class='datatype'>int(0..)</code>|<code class='datatype'>void</code> <code class='argument'>nbytes</code><b>)</b></code></p></dd> + </dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>read_oob</b></span><br> + <span class='homogen--type'>Method</span> + <span class='homogen--name'><b>tcgetattr</b></span><br> + <span class='homogen--type'>Method</span> + <span class='homogen--name'><b>tcsetattr</b></span><br> + </dt> + <dd><p><code><code class='modifier'>optional</code> <code class='datatype'>string</code> <b><span class='method'>read_oob</span>(</b><code class='datatype'>int(0..)</code>|<code class='datatype'>void</code> <code class='argument'>nbytes</code><b>)</b></code><br> + <code><code class='modifier'>optional</code> <code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <b><span class='method'>tcgetattr</span>(</b><b>)</b></code><br> + <code><code class='modifier'>optional</code> <code class='datatype'>int</code> <b><span class='method'>tcsetattr</span>(</b><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>attr</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>when</code><b>)</b></code></p></dd> + </dl> + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.NonblockingInputStream</b></h2> + </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Annotations</dt> + <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>InputStream</code>)</code></pre></dd> + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The Stdio.NonblockingInputStream API.</p> + <p> This class exists purely for typing reasons.</p>   <p> Use in types in place of <code>Stdio.File</code> where nonblocking and/or    blocking stream-oriented I/O is done with the object.</p>   </dd>   <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>Stream</code>, <code>BlockFile</code>, <code>File</code>, <code>FILE</code></p> + <dd class='body--doc'><p><code>InputStream</code>, <code>NonblockingStream</code>, <code>InputBlockFile</code>, <code>File</code>, <code>FILE</code></p>   </dd></dl>      <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Inherit</span> - <span class='homogen--name'><b>Stream</b></span> + <span class='homogen--name'><b>InputStream</b></span>   </dt> - <dd><p><code><span class='datatype'>inherit Stream</span> : <span class='inherit'>Stream</span></code></p></dd> + <dd><p><code><span class='datatype'>inherit InputStream</span> : <span class='inherit'>InputStream</span></code></p></dd>   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_blocking</b></span>   </dt>   <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking</span>(</b><b>)</b></code></p></dd>   </dl>
autodoc.git/traditional_manual/chapter_9.html:4775:   </dt>   <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_blocking_keep_callbacks</span>(</b><b>)</b></code></p></dd>   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_read_callback</b></span><br>   <span class='homogen--type'>Method</span> - <span class='homogen--name'><b>set_write_callback</b></span><br> - <span class='homogen--type'>Method</span> +    <span class='homogen--name'><b>set_close_callback</b></span><br>   <span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_fs_event_callback</b></span><br>   </dt>   <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code><br> +    <code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code><br>   <code><code class='modifier'>optional</code> <code class='datatype'>void</code> <b><span class='method'>set_fs_event_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code>, <code class='datatype'>int</code> <code class='argument'>event_mask</code>, <code class='datatype'>mixed</code> ... <code class='argument'>rest</code><b>)</b></code></p></dd>   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nodelay</b></span>   </dt>
autodoc.git/traditional_manual/chapter_9.html:4818:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nonblocking_keep_callbacks</b></span>   </dt>   <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking_keep_callbacks</span>(</b><b>)</b></code></p></dd>   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>set_read_oob_callback</b></span><br> - <span class='homogen--type'>Method</span> - <span class='homogen--name'><b>set_write_oob_callback</b></span><br> + <span class='homogen--name'><b>set_read_oob_callback</b></span>   </dt> - <dd><p><code><code class='modifier'>optional</code> <code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code><br> - <code><code class='modifier'>optional</code> <code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code></p></dd> + <dd><p><code><code class='modifier'>optional</code> <code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code></p></dd>   </dl> - </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Stream</b></h2> + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.NonblockingOutputStreamMixin</b></h2>   </dt><dd><dl class='group--doc'>   <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>The Stdio.Stream API.</p> + <dd class='body--doc'><p>Mixin for converting a <code>NonblockingInputStream</code> +  into a <code>NonblockingStream</code>.</p>   <p> This class exists purely for typing reasons.</p> - <p> Use in types in place of <code>Stdio.File</code> where only blocking -  stream-oriented I/O is done with the object.</p> - <p> This class lists the minimum functionality guaranteed to exist in -  all Stream objects.</p> +    </dd> -  + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>Typically you will not want to use this class +  directly, but instead use one of the classes +  that inherits it.</p> + </dd>   <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>NonblockingStream</code>, <code>BlockFile</code>, <code>File</code>, <code>FILE</code></p> + <dd class='body--doc'><p><code>NonblockingInputStream</code>, <code>NonblockingStream</code></p>   </dd></dl>      <hr />   <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>close</b></span> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>OutputStreamMixin</b></span>   </dt> - <dd><p><code><code class='datatype'>int</code> <b><span class='method'>close</span>(</b><b>)</b></code></p></dd> + <dd><p><code><span class='datatype'>inherit OutputStreamMixin</span> : <span class='inherit'>OutputStreamMixin</span></code></p></dd>   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>read</b></span> + <span class='homogen--name'><b>set_write_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>string</code> <b><span class='method'>read</span>(</b><code class='datatype'>int(0..)</code> <code class='argument'>nbytes</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_write_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code></p></dd>   </dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>read_oob</b></span><br> - <span class='homogen--type'>Method</span> - <span class='homogen--name'><b>write_oob</b></span><br> - <span class='homogen--type'>Method</span> - <span class='homogen--name'><b>tcgetattr</b></span><br> - <span class='homogen--type'>Method</span> - <span class='homogen--name'><b>tcsetattr</b></span><br> + <span class='homogen--name'><b>set_write_oob_callback</b></span>   </dt> - <dd><p><code><code class='modifier'>optional</code> <code class='datatype'>string</code> <b><span class='method'>read_oob</span>(</b><code class='datatype'>int(0..)</code> <code class='argument'>nbytes</code><b>)</b></code><br> - <code><code class='modifier'>optional</code> <code class='datatype'>int(-1..)</code> <b><span class='method'>write_oob</span>(</b><code class='datatype'>string</code> <code class='argument'>data</code><b>)</b></code><br> - <code><code class='modifier'>optional</code> <code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>)|<code class='datatype'>zero</code> <b><span class='method'>tcgetattr</span>(</b><b>)</b></code><br> - <code><code class='modifier'>optional</code> <code class='datatype'>int</code> <b><span class='method'>tcsetattr</span>(</b><code class='datatype'>mapping</code>(<code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>attr</code>, <code class='datatype'>string</code>|<code class='datatype'>void</code> <code class='argument'>when</code><b>)</b></code></p></dd> + <dd><p><code><code class='modifier'>optional</code> <code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(:<code class='datatype void'>void</code>)|<code class='datatype'>zero</code> <code class='argument'>f</code><b>)</b></code></p></dd>   </dl> -  + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.NonblockingStream</b></h2> + </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Annotations</dt> + <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>Stream</code>)</code></pre></dd> + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The Stdio.NonblockingStream API.</p> + <p> This class exists purely for typing reasons.</p> + <p> Use in types in place of <code>Stdio.File</code> where nonblocking and/or +  blocking stream-oriented I/O is done with the object.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Stream</code>, <code>NonblockingInputStream</code>, <code>BlockFile</code>, <code>File</code>, <code>FILE</code></p> + </dd></dl>    -  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>NonblockingInputStream</b></span> + </dt> + <dd><p><code><span class='datatype'>inherit NonblockingInputStream</span> : <span class='inherit'>NonblockingInputStream</span></code></p></dd> + </dl>    -  +    <hr />   <dl class='group--doc'> -  + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>NonblockingOutputStreamMixin</b></span> + </dt> + <dd><p><code><span class='datatype'>inherit NonblockingOutputStreamMixin</span> : <span class='inherit'>NonblockingOutputStreamMixin</span></code></p></dd> + </dl> + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.OutputStreamMixin</b></h2> + </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Mixin for converting an <code>InputStream</code> into a <code>Stream</code>.</p> + <p> This class exists purely for typing reasons.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>Typically you will not want to use this class +  directly, but instead use one of the classes +  that inherits it.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>InputStream</code>, <code>Stream</code>, <code>BlockFile</code></p> + </dd></dl> +  + <hr /> + <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>write</b></span>   </dt>   <dd><p><code><code class='datatype'>int(-1..)</code> <b><span class='method'>write</span>(</b><code class='datatype'>string</code> <code class='argument'>data</code><b>)</b></code></p></dd>   </dl> -  +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>write_oob</b></span> + </dt> + <dd><p><code><code class='modifier'>optional</code> <code class='datatype'>int(-1..)</code> <b><span class='method'>write_oob</span>(</b><code class='datatype'>string</code> <code class='argument'>data</code><b>)</b></code></p></dd> + </dl> + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.Stream</b></h2> + </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Annotations</dt> + <dd class='body--annotation'><pre><code>@<code>Pike.Annotations.Implements</code>(<code>InputStream</code>)</code></pre></dd> + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>The Stdio.Stream API.</p> + <p> This class exists purely for typing reasons.</p> + <p> Use in types in place of <code>Stdio.File</code> where only blocking +  stream-oriented I/O is done with the object.</p> + <p> This class lists the minimum functionality guaranteed to exist in +  all Stream objects.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>InputStream</code>, <code>NonblockingStream</code>, <code>BlockFile</code>, <code>File</code>, <code>FILE</code></p> + </dd></dl> +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>InputStream</b></span> + </dt> + <dd><p><code><span class='datatype'>inherit InputStream</span> : <span class='inherit'>InputStream</span></code></p></dd> + </dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>OutputStreamMixin</b></span> + </dt> + <dd><p><code><span class='datatype'>inherit OutputStreamMixin</span> : <span class='inherit'>OutputStreamMixin</span></code></p></dd> + </dl>   </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Stdio.sendfile</b></h2>   </dt><dd><dl class='group--doc'>   <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Send <code class='expr'>headers&nbsp;+&nbsp;from_fd[off..off+len-1]&nbsp;+&nbsp;trailers</code> to    <code class='expr'>to_fd</code> asyncronously.</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>This is the low-level implementation, which has several limitations.    You probably want to use <code>Stdio.sendfile()</code> instead.</p>   </dd>