<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_40) on Tue Oct 07 13:22:00 CEST 2014 -->
<title>ControlledWorkerScheduler (Fluid Operations FedX documentation)</title>
<meta name="date" content="2014-10-07">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet_fedx.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ControlledWorkerScheduler (Fluid Operations FedX documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ControlledWorkerScheduler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>
                <img src=images/fluidops.png>
            </em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" target="_top">Frames</a></li>
<li><a href="ControlledWorkerScheduler.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.fluidops.fedx.evaluation.concurrent</div>
<h2 title="Class ControlledWorkerScheduler" class="title">Class ControlledWorkerScheduler&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.fluidops.fedx.evaluation.concurrent.ControlledWorkerScheduler&lt;T&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;T&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.79">ControlledWorkerScheduler</a>&lt;T&gt;
extends java.lang.Object
implements <a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;T&gt;</pre>
<div class="block">ControlledWorkerScheduler is a task scheduler that uses a FIFO queue for managing
 its process. Each instance has a pool with a fixed number of worker threads. Once
 notified a worker picks the next task from the queue and executes it. The results
 is then returned to the controlling instance retrieved from the task.
 
 Note that access to shared instance variables is synchronized.
 
 Usage:
 
 <code>
  ControlledWorkerScheduler scheduler = ...;    // get your instance => singleton?
 
  while (available) {
        scheduler.schedule(task);
  }
 
  scheduler.informFinish(this);
 
  // wait until all tasks are executed
  synchronized (this) {
                try {
                        // check to avoid deadlock
                        if (scheduler.isRunning(this))
                                this.wait();
                        } catch (InterruptedException e) {
                                ;       // no-op
                        }
                }       
  }
 </code></div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Andreas Schwarte</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../com/fluidops/fedx/evaluation/union/ControlledWorkerUnion.html" title="class in com.fluidops.fedx.evaluation.union"><code>ControlledWorkerUnion</code></a>, 
<a href="../../../../../com/fluidops/fedx/evaluation/join/ControlledWorkerJoin.html" title="class in com.fluidops.fedx.evaluation.join"><code>ControlledWorkerJoin</code></a>, 
<a href="../../../../../com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html" title="class in com.fluidops.fedx.evaluation.join"><code>ControlledWorkerBoundJoin</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#ControlledWorkerScheduler()">ControlledWorkerScheduler</a></strong>()</code>
<div class="block">Construct a new instance with 20 workers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#ControlledWorkerScheduler(int)">ControlledWorkerScheduler</a></strong>(int&nbsp;nWorkers)</code>
<div class="block">Construct a new instance with the specified number of workers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#ControlledWorkerScheduler(int, java.lang.String)">ControlledWorkerScheduler</a></strong>(int&nbsp;nWorkers,
                                                  java.lang.String&nbsp;name)</code>
<div class="block">Construct a new instance with the specified number of workers and the
 given name.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#abort()">abort</a></strong>()</code>
<div class="block">Abort the execution of running and queued tasks.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#abort(int)">abort</a></strong>(int&nbsp;queryId)</code>
<div class="block">Abort all task belonging to query with provided id (i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#abort(com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">abort</a></strong>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</code>
<div class="block">Abort all task belonging to control</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#done()">done</a></strong>()</code>
<div class="block">Inform the scheduler that a certain task is done.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#getNumberOfIdleWorkers()">getNumberOfIdleWorkers</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#getNumberOfTasks()">getNumberOfTasks</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#getTotalNumberOfWorkers()">getTotalNumberOfWorkers</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#handleResult(info.aduna.iteration.CloseableIteration)">handleResult</a></strong>(info.aduna.iteration.CloseableIteration&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>,org.openrdf.query.QueryEvaluationException&gt;&nbsp;res)</code>
<div class="block">Callback to handle the result.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#informFinish()">informFinish</a></strong>()</code>
<div class="block">Inform the scheduler that no more tasks will be scheduled.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#informFinish(com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">informFinish</a></strong>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</code>
<div class="block">Inform this scheduler that the specified control instance will no longer
 submit tasks.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#isRunning()">isRunning</a></strong>()</code>
<div class="block">Determine if the scheduler has unfisnihed tasks.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#isRunning(com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">isRunning</a></strong>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</code>
<div class="block">Determine if there are still task running or queued for the specified control.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#schedule(com.fluidops.fedx.evaluation.concurrent.ParallelTask)">schedule</a></strong>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelTask.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelTask</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;task)</code>
<div class="block">Schedule the specified parallel task.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#scheduleAll(java.util.List, com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">scheduleAll</a></strong>(java.util.List&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelTask.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelTask</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&gt;&nbsp;tasks,
                      <a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</code>
<div class="block">Schedule the given tasks and inform about finish using the same lock, i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#toss(java.lang.Exception)">toss</a></strong>(java.lang.Exception&nbsp;e)</code>
<div class="block">Toss an exception to the scheduler.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ControlledWorkerScheduler()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ControlledWorkerScheduler</h4>
<pre>public&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.96">ControlledWorkerScheduler</a>()</pre>
<div class="block">Construct a new instance with 20 workers.</div>
</li>
</ul>
<a name="ControlledWorkerScheduler(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ControlledWorkerScheduler</h4>
<pre>public&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.106">ControlledWorkerScheduler</a>(int&nbsp;nWorkers)</pre>
<div class="block">Construct a new instance with the specified number of workers.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nWorkers</code> - the number of worker threads</dd></dl>
</li>
</ul>
<a name="ControlledWorkerScheduler(int, java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ControlledWorkerScheduler</h4>
<pre>public&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.118">ControlledWorkerScheduler</a>(int&nbsp;nWorkers,
                         java.lang.String&nbsp;name)</pre>
<div class="block">Construct a new instance with the specified number of workers and the
 given name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nWorkers</code> - </dd><dd><code>name</code> - </dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="schedule(com.fluidops.fedx.evaluation.concurrent.ParallelTask)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schedule</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.132">schedule</a>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelTask.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelTask</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;task)</pre>
<div class="block">Schedule the specified parallel task.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#schedule(com.fluidops.fedx.evaluation.concurrent.ParallelTask)">schedule</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>task</code> - the task to schedule</dd></dl>
</li>
</ul>
<a name="scheduleAll(java.util.List, com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheduleAll</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.154">scheduleAll</a>(java.util.List&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelTask.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelTask</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&gt;&nbsp;tasks,
               <a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</pre>
<div class="block">Schedule the given tasks and inform about finish using the same lock, i.e.
 all tasks are scheduled one after the other.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tasks</code> - </dd><dd><code>control</code> - </dd></dl>
</li>
</ul>
<a name="getTotalNumberOfWorkers()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalNumberOfWorkers</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.173">getTotalNumberOfWorkers</a>()</pre>
</li>
</ul>
<a name="getNumberOfIdleWorkers()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfIdleWorkers</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.177">getNumberOfIdleWorkers</a>()</pre>
</li>
</ul>
<a name="getNumberOfTasks()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumberOfTasks</h4>
<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.181">getNumberOfTasks</a>()</pre>
</li>
</ul>
<a name="abort()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.203">abort</a>()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#abort()">Scheduler</a></code></strong></div>
<div class="block">Abort the execution of running and queued tasks.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#abort()">abort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="abort(com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.225">abort</a>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</pre>
<div class="block">Abort all task belonging to control</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>control</code> - </dd></dl>
</li>
</ul>
<a name="abort(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.276">abort</a>(int&nbsp;queryId)</pre>
<div class="block">Abort all task belonging to query with provided id (i.e. from QueryInfo)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>queryId</code> - the valid queryId or -1 if not available</dd></dl>
</li>
</ul>
<a name="done()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>done</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.325">done</a>()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#done()">Scheduler</a></code></strong></div>
<div class="block">Inform the scheduler that a certain task is done.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#done()">done</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="handleResult(info.aduna.iteration.CloseableIteration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleResult</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.331">handleResult</a>(info.aduna.iteration.CloseableIteration&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>,org.openrdf.query.QueryEvaluationException&gt;&nbsp;res)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#handleResult(info.aduna.iteration.CloseableIteration)">Scheduler</a></code></strong></div>
<div class="block">Callback to handle the result.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#handleResult(info.aduna.iteration.CloseableIteration)">handleResult</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="informFinish()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>informFinish</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.337">informFinish</a>()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#informFinish()">Scheduler</a></code></strong></div>
<div class="block">Inform the scheduler that no more tasks will be scheduled.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#informFinish()">informFinish</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="informFinish(com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>informFinish</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.347">informFinish</a>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</pre>
<div class="block">Inform this scheduler that the specified control instance will no longer
 submit tasks.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>control</code> - </dd></dl>
</li>
</ul>
<a name="isRunning()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.358">isRunning</a>()</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#isRunning()">Scheduler</a></code></strong></div>
<div class="block">Determine if the scheduler has unfisnihed tasks.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#isRunning()">isRunning</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="isRunning(com.fluidops.fedx.evaluation.concurrent.ParallelExecutor)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.372">isRunning</a>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;&nbsp;control)</pre>
<div class="block">Determine if there are still task running or queued for the specified control.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>control</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>true, if there are unfinished tasks, false otherwise</dd></dl>
</li>
</ul>
<a name="toss(java.lang.Exception)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toss</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html#line.383">toss</a>(java.lang.Exception&nbsp;e)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#toss(java.lang.Exception)">Scheduler</a></code></strong></div>
<div class="block">Toss an exception to the scheduler.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html#toss(java.lang.Exception)">toss</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/Scheduler.html" title="interface in com.fluidops.fedx.evaluation.concurrent">Scheduler</a>&lt;<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="type parameter in ControlledWorkerScheduler">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ControlledWorkerScheduler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>
                <img src=images/fluidops.png>
            </em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" target="_top">Frames</a></li>
<li><a href="ControlledWorkerScheduler.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright &#169; 2008-2011 fluid Operations AG. All Rights Reserved.</i>
            </small></p>
</body>
</html>
