autodoc.git / traditional_manual / chapter_21.html

version» Context lines:

autodoc.git/traditional_manual/chapter_21.html:15698:    Upon startup of the backend, it will change to <code class='expr'>true</code> unless you    explicitly called <code>use_backend()</code> before that.</p>   </dd>   <dt class='head--doc'>Note</dt>   <dd class='body--doc'><p>(Un)setting this typically alters the order in which some callbacks    are called (depending on what happens in a callback).</p>   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><code>Future()-&gt;set_backend()</code>, <code>Future()-&gt;call_callback()</code></p>   </dd></dl> - <dl><dt><h2 class='header'>Class <b class='ms datatype'>Concurrent.Future</b></h2> + <dl><dt><h2 class='header'>Class <b class='ms datatype'>Concurrent.AggregatedPromise</b></h2>   </dt><dd><dl class='group--doc'>   <dt class='head--doc'>Description</dt> -  + <dd class='body--doc'><p>Promise to provide an aggregated <code>Future</code> value.</p> + <p> Objects of this class are typically kept internal to the +  code that provides the <code>Future</code> value. The only thing +  that is directly returned to the user is the return +  value from <code>future()</code>.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>It is currently possible to use this class as a normal <code>Promise</code> +  (ie without aggregation), but those functions may get removed +  in a future version of Pike. Functions to avoid include +  <code>success()</code> and <code>try_success()</code>. If you do not need aggregation +  use <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>Future</code>, <code>future()</code>, <code>Promise</code>, <code>first_completed()</code>, +  <code>race()</code>, <code>results()</code>, <code>all()</code>, <code>fold()</code></p> + </dd></dl> +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>aggregate_cb</b></span> + </dt> + <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>aggregate_cb</span>(</b><code class='datatype'>mixed</code> <code class='argument'>value</code>, <code class='datatype'>int</code> <code class='argument'>idx</code>, <code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>) <code class='argument'>results</code><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Callback used to aggregate the results from dependencies.</p> + </dd> + <dt class='head--doc'><span id='p-value'></span>Parameter <code class='parameter'>value</code></dt> + <dd></dd><dd class='body--doc'><p>Value received from the dependency.</p> + </dd> + <dt class='head--doc'><span id='p-idx'></span>Parameter <code class='parameter'>idx</code></dt> + <dd></dd><dd class='body--doc'><p>Identification number for the dependency.</p> + </dd> + <dt class='head--doc'><span id='p-results'></span>Parameter <code class='parameter'>results</code></dt> + <dd></dd><dd class='body--doc'><p>Either of the mappings in <code>dependency_results</code> depending on +  whether this was a success or a failure callback.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>The function may also be called with all arguments set to +  <code>UNDEFINED</code> in order to poll the current state. This is +  typically done via a call to <code>start()</code>.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>start()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>any_results</b></span> + </dt> + <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>any_results</span>(</b><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Sets the number of failures to be accepted in the list of futures +  this promise +  depends upon to unlimited. It is equivalent to <code class='expr'>max_failures(-1)</code>.</p> + </dd> + <dt class='head--doc'>Returns</dt> + <dd class='body--doc'><p>The new <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>depend()</code>, <code>max_failures()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>depend</b></span> + </dt> + <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>depend</span>(</b><code class='datatype'>array</code>(<code class='object unresolved'>Future</code>) <code class='argument'>futures</code><b>)</b></code><br> + <code><code class='modifier'>local</code> <code class='modifier'>variant</code> <code class='object unresolved'>this_program</code> <b><span class='method'>depend</span>(</b><code class='object unresolved'>Future</code> ... <code class='argument'>futures</code><b>)</b></code><br> + <code><code class='modifier'>variant</code> <code class='object unresolved'>this_program</code> <b><span class='method'>depend</span>(</b><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Add futures to the list of futures which the current object depends upon.</p> + <p> If called without arguments it will produce a new <code>Future</code> +  from a new <code>Promise</code> which is implictly added to the dependency list.</p> + </dd> + <dt class='head--doc'><span id='p-futures'></span>Parameter <code class='parameter'>futures</code></dt> + <dd></dd><dd class='body--doc'><p>The list of <code class='expr'>futures</code> we want to add to the list we depend upon.</p> + </dd> + <dt class='head--doc'>Returns</dt> + <dd class='body--doc'><p>The new <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>Can be called multiple times to add more.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>Once the promise has been materialised (when either <code>on_success()</code>, +  <code>on_failure()</code> or <code>get()</code> has been called on this object), it is +  not possible to call <code>depend()</code> anymore.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>fold()</code>, <code>first_completed()</code>, <code>max_failures()</code>, <code>min_failures()</code>, +  <code>any_results()</code>, <code>Concurrent.results()</code>, <code>Concurrent.all()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Variable</span> + <span class='homogen--name'><b>dependency_results</b></span> + </dt> + <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>array</code>(<code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>)) Concurrent.AggregatedPromise.<b><span class='variable'>dependency_results</span></b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><table class='box'><tr><td colspan='2'>Array</td></tr> + <tr><td><code><code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>) <code class='key'>0</code></code></td><td><p>Successful results.</p> + </td></tr> + <tr><td><code><code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>) <code class='key'>1</code></code></td><td><p>Failed results.</p> + </td></tr> + </table> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>first_completed</b></span> + </dt> + <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>first_completed</span>(</b><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>It evaluates to the first future that completes of the list +  of futures it depends upon.</p> + </dd> + <dt class='head--doc'>Returns</dt> + <dd class='body--doc'><p>The new <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>depend()</code>, <code>Concurrent.first_completed()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>fold</b></span> + </dt> + <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>fold</span>(</b><code class='datatype'>mixed</code> <code class='argument'>initial</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>mixed</code>, <code class='datatype'>mixed</code> ... :<code class='datatype'>mixed</code>) <code class='argument'>fun</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra</code><b>)</b></code></p></dd> +  + <dt class='head--doc'><span id='p-initial'></span>Parameter <code class='parameter'>initial</code></dt> + <dd></dd><dd class='body--doc'><p>Initial value of the accumulator.</p> + </dd> + <dt class='head--doc'><span id='p-fun'></span>Parameter <code class='parameter'>fun</code></dt> + <dd></dd><dd class='body--doc'><p>Function to apply. The first argument is the result of +  one of the <code>futures</code>. The second argument is the current value +  of the accumulator.</p> + </dd> + <dt class='head--doc'><span id='p-extra'></span>Parameter <code class='parameter'>extra</code></dt> + <dd></dd><dd class='body--doc'><p>Any extra context needed for <code>fun</code>. They will be provided +  as arguments three and onwards when <code>fun</code> is called.</p> + </dd> + <dt class='head--doc'>Returns</dt> + <dd class='body--doc'><p>The new <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>If <code>fun</code> throws an error it will fail the <code>Future</code>.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p><code>fun</code> may be called in any order, and will be called +  once for every <code>Future</code> it depends upon, unless one of the +  calls fails in which case no further calls will be +  performed.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>depend()</code>, <code>Concurrent.fold()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Inherit</span> + <span class='homogen--name'><b>Promise</b></span> + </dt> + <dd><p><code><span class='datatype'>inherit Promise</span> : <span class='inherit'>Promise</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>max_failures</b></span> + </dt> + <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>max_failures</span>(</b><code class='datatype'>int(-1..)</code> <code class='argument'>max</code><b>)</b></code></p></dd> +  + <dt class='head--doc'><span id='p-max'></span>Parameter <code class='parameter'>max</code></dt> + <dd></dd><dd class='body--doc'><p>Specifies the maximum number of failures to be accepted in +  the list of futures this promise depends upon.</p> + <p> <code class='expr'>-1</code> means unlimited.</p> + <p> Defaults to <code class='expr'>0</code>.</p> + </dd> + <dt class='head--doc'>Returns</dt> + <dd class='body--doc'><p>The new <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>depend()</code>, <code>min_failures()</code>, <code>any_results()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>min_failures</b></span> + </dt> + <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>min_failures</span>(</b><code class='datatype'>int(0..)</code> <code class='argument'>min</code><b>)</b></code></p></dd> +  + <dt class='head--doc'><span id='p-min'></span>Parameter <code class='parameter'>min</code></dt> + <dd></dd><dd class='body--doc'><p>Specifies the minimum number of failures to be required in +  the list of futures this promise depends upon. Defaults +  to <code class='expr'>0</code>.</p> + </dd> + <dt class='head--doc'>Returns</dt> + <dd class='body--doc'><p>The new <code>Promise</code>.</p> + </dd> + <dt class='head--doc'>See also</dt> + <dd class='body--doc'><p><code>depend()</code>, <code>max_failures()</code></p> + </dd></dl> +  +  + <hr /> + <dl class='group--doc'> + <dt class='head--type'><span class='homogen--type'>Method</span> + <span class='homogen--name'><b>start</b></span> + </dt> + <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>start</span>(</b><b>)</b></code></p></dd> +  + <dt class='head--doc'>Description</dt> + <dd class='body--doc'><p>Start the aggregation of values from dependencies.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>This function is called from several functions. These +  include <code>on_success()</code>, <code>on_failure()</code>, <code>wait()</code>, +  <code>get()</code>, <code>fold()</code> and <code>first_completed()</code>.</p> + </dd> + <dt class='head--doc'>Note</dt> + <dd class='body--doc'><p>After this function has been called, several functions +  may no longer be called. These include <code>depend()</code>, +  <code>fold()</code>, <code>first_completed()</code>, <code>max_failures()</code>, +  <code>min_failures()</code>, <code>any_results()</code>.</p> + </dd></dl> + </dd></dl><dl><dt><h2 class='header'>Class <b class='ms datatype'>Concurrent.Future</b></h2> + </dt><dd><dl class='group--doc'> + <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Value that will be provided asynchronously    sometime in the future.</p>   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><code>Promise</code></p>   </dd></dl>      <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span>
autodoc.git/traditional_manual/chapter_21.html:16372:    that is directly returned to the user is the return    value from <code>future()</code>.</p>   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><code>Future</code>, <code>future()</code></p>   </dd></dl>      <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>aggregate_cb</b></span> - </dt> - <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>aggregate_cb</span>(</b><code class='datatype'>mixed</code> <code class='argument'>value</code>, <code class='datatype'>int</code> <code class='argument'>idx</code>, <code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>) <code class='argument'>results</code><b>)</b></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Callback used to aggregate the results from dependencies.</p> - </dd> - <dt class='head--doc'><span id='p-value'></span>Parameter <code class='parameter'>value</code></dt> - <dd></dd><dd class='body--doc'><p>Value received from the dependency.</p> - </dd> - <dt class='head--doc'><span id='p-idx'></span>Parameter <code class='parameter'>idx</code></dt> - <dd></dd><dd class='body--doc'><p>Identification number for the dependency.</p> - </dd> - <dt class='head--doc'><span id='p-results'></span>Parameter <code class='parameter'>results</code></dt> - <dd></dd><dd class='body--doc'><p>Either of the mappings in <code>dependency_results</code> depending on -  whether this was a success or a failure callback.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p>The function may also be called with all arguments set to -  <code>UNDEFINED</code> in order to poll the current state. This is -  typically done via a call to <code>start()</code>.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>start()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>any_results</b></span> - </dt> - <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>any_results</span>(</b><b>)</b></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Sets the number of failures to be accepted in the list of futures -  this promise -  depends upon to unlimited. It is equivalent to <code class='expr'>max_failures(-1)</code>.</p> - </dd> - <dt class='head--doc'>Returns</dt> - <dd class='body--doc'><p>The new <code>Promise</code>.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>depend()</code>, <code>max_failures()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> +    <span class='homogen--name'><b>create</b></span>   </dt>   <dd><p><code><span class='object'>Concurrent.Promise</span> <span class='class'>Concurrent.Promise</span><b>(</b><code class='datatype'>void</code>|<code class='datatype'>function</code>(<code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>), <code class='datatype'>function</code>(<code class='datatype'>mixed</code>:<code class='datatype'>void</code>), <code class='datatype'>mixed</code> ... :<code class='datatype'>void</code>) <code class='argument'>executor</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Creates a new promise, optionally initialised from a traditional callback    driven method via <code class='expr'>executor(success,&nbsp;failure,&nbsp;@extra)</code>.</p>   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><a href='https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise'>https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise</a></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>depend</b></span> - </dt> - <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>depend</span>(</b><code class='datatype'>array</code>(<code class='object unresolved'>Future</code>) <code class='argument'>futures</code><b>)</b></code><br> - <code><code class='modifier'>local</code> <code class='modifier'>variant</code> <code class='object unresolved'>this_program</code> <b><span class='method'>depend</span>(</b><code class='object unresolved'>Future</code> ... <code class='argument'>futures</code><b>)</b></code><br> - <code><code class='modifier'>variant</code> <code class='object unresolved'>this_program</code> <b><span class='method'>depend</span>(</b><b>)</b></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Add futures to the list of futures which the current object depends upon.</p> - <p> If called without arguments it will produce a new <code>Future</code> -  from a new <code>Promise</code> which is implictly added to the dependency list.</p> - </dd> - <dt class='head--doc'><span id='p-futures'></span>Parameter <code class='parameter'>futures</code></dt> - <dd></dd><dd class='body--doc'><p>The list of <code class='expr'>futures</code> we want to add to the list we depend upon.</p> - </dd> - <dt class='head--doc'>Returns</dt> - <dd class='body--doc'><p>The new <code>Promise</code>.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p>Can be called multiple times to add more.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p>Once the promise has been materialised (when either <code>on_success()</code>, -  <code>on_failure()</code> or <code>get()</code> has been called on this object), it is -  not possible to call <code>depend()</code> anymore.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>fold()</code>, <code>first_completed()</code>, <code>max_failures()</code>, <code>min_failures()</code>, -  <code>any_results()</code>, <code>Concurrent.results()</code>, <code>Concurrent.all()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Variable</span> - <span class='homogen--name'><b>dependency_results</b></span> - </dt> - <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>array</code>(<code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>)) Concurrent.Promise.<b><span class='variable'>dependency_results</span></b></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><table class='box'><tr><td colspan='2'>Array</td></tr> - <tr><td><code><code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>) <code class='key'>0</code></code></td><td><p>Successful results.</p> - </td></tr> - <tr><td><code><code class='datatype'>mapping</code>(<code class='datatype'>int</code>:<code class='datatype'>mixed</code>) <code class='key'>1</code></code></td><td><p>Failed results.</p> - </td></tr> - </table> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> +    <span class='homogen--name'><b>failure</b></span>   </dt>   <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>failure</span>(</b><code class='datatype'>mixed</code> <code class='argument'>value</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Reject the <code>Future</code> value.</p>   </dd>   <dt class='head--doc'><span id='p-value'></span>Parameter <code class='parameter'>value</code></dt>   <dd></dd><dd class='body--doc'><p>Failure result of the <code>Future</code>.</p>   </dd>
autodoc.git/traditional_manual/chapter_21.html:16513:    callbacks to be called as soon as possible.</p>   </dd>   <dt class='head--doc'>See also</dt>   <dd class='body--doc'><p><code>try_failure()</code>, <code>success()</code>, <code>on_failure()</code></p>   </dd></dl>         <hr />   <dl class='group--doc'>   <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>first_completed</b></span> - </dt> - <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>first_completed</span>(</b><b>)</b></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>It evaluates to the first future that completes of the list -  of futures it depends upon.</p> - </dd> - <dt class='head--doc'>Returns</dt> - <dd class='body--doc'><p>The new <code>Promise</code>.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>depend()</code>, <code>Concurrent.first_completed()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>fold</b></span> - </dt> - <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>fold</span>(</b><code class='datatype'>mixed</code> <code class='argument'>initial</code>, <code class='datatype'>function</code>(<code class='datatype'>mixed</code>, <code class='datatype'>mixed</code>, <code class='datatype'>mixed</code> ... :<code class='datatype'>mixed</code>) <code class='argument'>fun</code>, <code class='datatype'>mixed</code> ... <code class='argument'>extra</code><b>)</b></code></p></dd> -  - <dt class='head--doc'><span id='p-initial'></span>Parameter <code class='parameter'>initial</code></dt> - <dd></dd><dd class='body--doc'><p>Initial value of the accumulator.</p> - </dd> - <dt class='head--doc'><span id='p-fun'></span>Parameter <code class='parameter'>fun</code></dt> - <dd></dd><dd class='body--doc'><p>Function to apply. The first argument is the result of -  one of the <code>futures</code>. The second argument is the current value -  of the accumulator.</p> - </dd> - <dt class='head--doc'><span id='p-extra'></span>Parameter <code class='parameter'>extra</code></dt> - <dd></dd><dd class='body--doc'><p>Any extra context needed for <code>fun</code>. They will be provided -  as arguments three and onwards when <code>fun</code> is called.</p> - </dd> - <dt class='head--doc'>Returns</dt> - <dd class='body--doc'><p>The new <code>Promise</code>.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p>If <code>fun</code> throws an error it will fail the <code>Future</code>.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p><code>fun</code> may be called in any order, and will be called -  once for every <code>Future</code> it depends upon, unless one of the -  calls fails in which case no further calls will be -  performed.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>depend()</code>, <code>Concurrent.fold()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> +    <span class='homogen--name'><b>future</b></span>   </dt>   <dd><p><code><code class='object unresolved'>Future</code> <b><span class='method'>future</span>(</b><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>The future value that we promise.</p>   </dd></dl>         <hr />
autodoc.git/traditional_manual/chapter_21.html:16589:   <dt class='head--type'><span class='homogen--type'>Inherit</span>   <span class='homogen--name'><b>Future</b></span>   </dt>   <dd><p><code><span class='datatype'>inherit Future</span> : <span class='inherit'>Future</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>max_failures</b></span> - </dt> - <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>max_failures</span>(</b><code class='datatype'>int(-1..)</code> <code class='argument'>max</code><b>)</b></code></p></dd> -  - <dt class='head--doc'><span id='p-max'></span>Parameter <code class='parameter'>max</code></dt> - <dd></dd><dd class='body--doc'><p>Specifies the maximum number of failures to be accepted in -  the list of futures this promise depends upon.</p> - <p> <code class='expr'>-1</code> means unlimited.</p> - <p> Defaults to <code class='expr'>0</code>.</p> - </dd> - <dt class='head--doc'>Returns</dt> - <dd class='body--doc'><p>The new <code>Promise</code>.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>depend()</code>, <code>min_failures()</code>, <code>any_results()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>min_failures</b></span> - </dt> - <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>min_failures</span>(</b><code class='datatype'>int(0..)</code> <code class='argument'>min</code><b>)</b></code></p></dd> -  - <dt class='head--doc'><span id='p-min'></span>Parameter <code class='parameter'>min</code></dt> - <dd></dd><dd class='body--doc'><p>Specifies the minimum number of failures to be required in -  the list of futures this promise depends upon. Defaults -  to <code class='expr'>0</code>.</p> - </dd> - <dt class='head--doc'>Returns</dt> - <dd class='body--doc'><p>The new <code>Promise</code>.</p> - </dd> - <dt class='head--doc'>See also</dt> - <dd class='body--doc'><p><code>depend()</code>, <code>max_failures()</code></p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> - <span class='homogen--name'><b>start</b></span> - </dt> - <dd><p><code><code class='modifier'>protected</code> <code class='datatype'>void</code> <b><span class='method'>start</span>(</b><b>)</b></code></p></dd> -  - <dt class='head--doc'>Description</dt> - <dd class='body--doc'><p>Start the aggregation of values from dependencies.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p>This function is called from several functions. These -  include <code>on_success()</code>, <code>on_failure()</code>, <code>wait()</code>, -  <code>get()</code>, <code>fold()</code> and <code>first_completed()</code>.</p> - </dd> - <dt class='head--doc'>Note</dt> - <dd class='body--doc'><p>After this function has been called, several functions -  may no longer be called. These include <code>depend()</code>, -  <code>fold()</code>, <code>first_completed()</code>, <code>max_failures()</code>, -  <code>min_failures()</code>, <code>any_results()</code>.</p> - </dd></dl> -  -  - <hr /> - <dl class='group--doc'> - <dt class='head--type'><span class='homogen--type'>Method</span> +    <span class='homogen--name'><b>success</b></span>   </dt>   <dd><p><code><code class='object unresolved'>this_program</code> <b><span class='method'>success</span>(</b><code class='datatype'>mixed</code> <code class='argument'>value</code><b>)</b></code></p></dd>      <dt class='head--doc'>Description</dt>   <dd class='body--doc'><p>Fulfill the <code>Future</code>.</p>   </dd>   <dt class='head--doc'><span id='p-value'></span>Parameter <code class='parameter'>value</code></dt>   <dd></dd><dd class='body--doc'><p>Result of the <code>Future</code>.</p>   </dd>