Branch: Tag:

2003-10-24

2003-10-24 19:07:29 by Martin Stjernholm <mast@lysator.liu.se>

Document the new treatment of return values from callbacks.

Rev: lib/modules/Stdio.pmod/module.pmod:1.186

844:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>query_read_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <b><span class='method'>query_read_callback</span>(</b><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <b><span class='method'>query_read_callback</span>(</b><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>This function returns the <tt>read_callback</tt>, which has been set with
860:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>query_read_oob_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <b><span class='method'>query_read_oob_callback</span>(</b><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <b><span class='method'>query_read_oob_callback</span>(</b><b>)</b></code></p></dd>   <dt class='head--fixme'>FIXME</dt>   <dd class='body--fixme'><p>Document this function.</p>   </dd></dl>
871:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>query_write_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <b><span class='method'>query_write_callback</span>(</b><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_write_callback</span>(</b><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>This function returns the <tt>write_callback</tt>, which has been set with
887:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>query_write_oob_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <b><span class='method'>query_write_oob_callback</span>(</b><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <b><span class='method'>query_write_oob_callback</span>(</b><b>)</b></code></p></dd>   <dt class='head--fixme'>FIXME</dt>   <dd class='body--fixme'><p>Document this function.</p>   </dd></dl>
1144:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_close_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>close_cb</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_close_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_cb</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>This function sets the <tt>close_callback</tt> for the file. The    <tt>close callback</tt> is called when the remote end of a socket or    pipe is closed.</p>   <p> The callback is called with the <tt>id</tt> of the file as argument.</p> -  + <p> If the callback returns <code class='expr'>-1</code>, no other call out or +  callback will be called by the backend in that round. I.e. the +  caller of the backend will get control back right away. For the +  main backend that means it will immediately start another round +  and check files and call outs anew.</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>This function does not set the file nonblocking.</p>
1239:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_nonblocking</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <code class='argument'>read_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>close_callback</code><b>)</b></code><br> - <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <code class='argument'>read_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>close_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <code class='argument'>read_oob_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>write_oob_callback</code><b>)</b></code><br> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_callback</code><b>)</b></code><br> + <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>close_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_oob_callback</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_oob_callback</code><b>)</b></code><br>   <code><code class='datatype'>void</code> <b><span class='method'>set_nonblocking</span>(</b><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>
1256:    you can write out-of-band data to it.</p>   <p> All callbacks will have the <tt>id</tt> of the file as first argument    when called (see <code>set_id()</code>).</p> + <p> If a callback returns <code class='expr'>-1</code>, no other call out or callback +  will be called by the backend in that round. I.e. the caller of +  the backend will get control back right away. For the main +  backend that means it will immediately start another round and +  check files and call outs anew.</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>If no arguments are given, the callbacks will be cleared.</p>
1277:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_read_callback</b></span>   </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'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <code class='argument'>read_callback</code><b>)</b></code></p></dd> + <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'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_callback</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>This function sets the <tt>read_callback</tt> for the file. The
1285:    the file.</p>   <p> The callback is called with the <tt>id</tt> of the file as    first argument and some or all of its data as second.</p> + <p> If the callback returns <code class='expr'>-1</code>, no other call out or +  callback will be called by the backend in that round. I.e. the +  caller of the backend will get control back right away. For the +  main backend that means it will immediately start another round +  and check files and call outs anew.</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>This function does not set the file nonblocking.</p>
1306:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_read_oob_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>void</code>) <code class='argument'>read_oob_cb</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_read_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>string</code>:<code class='datatype'>int</code>) <code class='argument'>read_oob_cb</code><b>)</b></code></p></dd>   <dt class='head--fixme'>FIXME</dt>   <dd class='body--fixme'><p>Document this function.</p>   </dd></dl>
1324:    <tt>write_callback</tt> is called whenever there is buffer space    available to write to for the file.</p>   <p> The callback is called with the <tt>id</tt> of the file as argument.</p> + <p> If the callback returns <code class='expr'>-1</code>, no other call out or +  callback will be called by the backend in that round. I.e. the +  caller of the backend will get control back right away. For the +  main backend that means it will immediately start another round +  and check files and call outs anew.</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>This function does not set the file nonblocking.</p>
1345:   <dt class='head--type'><span class='homogen--type'>Method</span>   <span class='homogen--name'><b>set_write_oob_callback</b></span>   </dt> - <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>) <code class='argument'>write_oob_cb</code><b>)</b></code></p></dd> + <dd><p><code><code class='datatype'>void</code> <b><span class='method'>set_write_oob_callback</span>(</b><code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>int</code>) <code class='argument'>write_oob_cb</code><b>)</b></code></p></dd>   <dt class='head--fixme'>FIXME</dt>   <dd class='body--fixme'><p>Document this function.</p>   </dd></dl>