<!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:01 CEST 2014 -->
<title>ControlledWorkerBoundJoin (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="ControlledWorkerBoundJoin (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/ControlledWorkerBoundJoin.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/join/ControlledWorkerJoin.html" title="class in com.fluidops.fedx.evaluation.join"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html" target="_top">Frames</a></li>
<li><a href="ControlledWorkerBoundJoin.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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#methods_inherited_from_class_com.fluidops.fedx.evaluation.join.JoinExecutorBase">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</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.join</div>
<h2 title="Class ControlledWorkerBoundJoin" class="title">Class ControlledWorkerBoundJoin</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>info.aduna.iteration.CloseableIterationBase&lt;E,X&gt;</li>
<li>
<ul class="inheritance">
<li>info.aduna.iteration.LookAheadIteration&lt;T,org.openrdf.query.QueryEvaluationException&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html" title="class in com.fluidops.fedx.evaluation.join">com.fluidops.fedx.evaluation.join.JoinExecutorBase</a>&lt;org.openrdf.query.BindingSet&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../com/fluidops/fedx/evaluation/join/ControlledWorkerJoin.html" title="class in com.fluidops.fedx.evaluation.join">com.fluidops.fedx.evaluation.join.ControlledWorkerJoin</a></li>
<li>
<ul class="inheritance">
<li>com.fluidops.fedx.evaluation.join.ControlledWorkerBoundJoin</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</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/ParallelExecutor.html" title="interface in com.fluidops.fedx.evaluation.concurrent">ParallelExecutor</a>&lt;org.openrdf.query.BindingSet&gt;, info.aduna.iteration.CloseableIteration&lt;org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException&gt;, info.aduna.iteration.Iteration&lt;org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException&gt;, java.lang.Runnable</dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html#line.56">ControlledWorkerBoundJoin</a>
extends <a href="../../../../../com/fluidops/fedx/evaluation/join/ControlledWorkerJoin.html" title="class in com.fluidops.fedx.evaluation.join">ControlledWorkerJoin</a></pre>
<div class="block">Execute the nested loop join in an asynchronous fashion, using grouped requests,
 i.e. group bindings into one SPARQL request using the UNION operator.
 
 The number of concurrent threads is controlled by a <a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="class in com.fluidops.fedx.evaluation.concurrent"><code>ControlledWorkerScheduler</code></a> which
 works according to the FIFO principle and uses worker threads.
 
 This join cursor blocks until all scheduled tasks are finished, however the result iteration
 can be accessed from different threads to allow for pipelining.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Andreas Schwarte</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.apache.log4j.Logger</code></td>
<td class="colLast"><code><strong><a href="../../../../../com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html#log">log</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== 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/join/ControlledWorkerBoundJoin.html#ControlledWorkerBoundJoin(com.fluidops.fedx.evaluation.concurrent.ControlledWorkerScheduler, com.fluidops.fedx.evaluation.FederationEvalStrategy, info.aduna.iteration.CloseableIteration, org.openrdf.query.algebra.TupleExpr, org.openrdf.query.BindingSet, com.fluidops.fedx.structures.QueryInfo)">ControlledWorkerBoundJoin</a></strong>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="class in com.fluidops.fedx.evaluation.concurrent">ControlledWorkerScheduler</a>&lt;org.openrdf.query.BindingSet&gt;&nbsp;scheduler,
                                                  <a href="../../../../../com/fluidops/fedx/evaluation/FederationEvalStrategy.html" title="class in com.fluidops.fedx.evaluation">FederationEvalStrategy</a>&nbsp;strategy,
                                                  info.aduna.iteration.CloseableIteration&lt;org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException&gt;&nbsp;leftIter,
                                                  org.openrdf.query.algebra.TupleExpr&nbsp;rightArg,
                                                  org.openrdf.query.BindingSet&nbsp;bindings,
                                                  <a href="../../../../../com/fluidops/fedx/structures/QueryInfo.html" title="class in com.fluidops.fedx.structures">QueryInfo</a>&nbsp;queryInfo)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_com.fluidops.fedx.evaluation.join.JoinExecutorBase">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;com.fluidops.fedx.evaluation.join.<a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html" title="class in com.fluidops.fedx.evaluation.join">JoinExecutorBase</a></h3>
<code><a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#addResult(info.aduna.iteration.CloseableIteration)">addResult</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#done()">done</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#getId()">getId</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#getNextElement()">getNextElement</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#getQueryId()">getQueryId</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#handleClose()">handleClose</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#isFinished()">isFinished</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#run()">run</a>, <a href="../../../../../com/fluidops/fedx/evaluation/join/JoinExecutorBase.html#toss(java.lang.Exception)">toss</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_info.aduna.iteration.LookAheadIteration">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;info.aduna.iteration.LookAheadIteration</h3>
<code>hasNext, next, remove</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_info.aduna.iteration.CloseableIterationBase">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;info.aduna.iteration.CloseableIterationBase</h3>
<code>close, isClosed</code></li>
</ul>
<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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="log">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>log</h4>
<pre>public static&nbsp;org.apache.log4j.Logger <a href="../../../../../src-html/com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html#line.58">log</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ControlledWorkerBoundJoin(com.fluidops.fedx.evaluation.concurrent.ControlledWorkerScheduler, com.fluidops.fedx.evaluation.FederationEvalStrategy, info.aduna.iteration.CloseableIteration, org.openrdf.query.algebra.TupleExpr, org.openrdf.query.BindingSet, com.fluidops.fedx.structures.QueryInfo)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ControlledWorkerBoundJoin</h4>
<pre>public&nbsp;<a href="../../../../../src-html/com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html#line.60">ControlledWorkerBoundJoin</a>(<a href="../../../../../com/fluidops/fedx/evaluation/concurrent/ControlledWorkerScheduler.html" title="class in com.fluidops.fedx.evaluation.concurrent">ControlledWorkerScheduler</a>&lt;org.openrdf.query.BindingSet&gt;&nbsp;scheduler,
                         <a href="../../../../../com/fluidops/fedx/evaluation/FederationEvalStrategy.html" title="class in com.fluidops.fedx.evaluation">FederationEvalStrategy</a>&nbsp;strategy,
                         info.aduna.iteration.CloseableIteration&lt;org.openrdf.query.BindingSet,org.openrdf.query.QueryEvaluationException&gt;&nbsp;leftIter,
                         org.openrdf.query.algebra.TupleExpr&nbsp;rightArg,
                         org.openrdf.query.BindingSet&nbsp;bindings,
                         <a href="../../../../../com/fluidops/fedx/structures/QueryInfo.html" title="class in com.fluidops.fedx.structures">QueryInfo</a>&nbsp;queryInfo)
                          throws org.openrdf.query.QueryEvaluationException</pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>org.openrdf.query.QueryEvaluationException</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/ControlledWorkerBoundJoin.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/join/ControlledWorkerJoin.html" title="class in com.fluidops.fedx.evaluation.join"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/fluidops/fedx/evaluation/join/ControlledWorkerBoundJoin.html" target="_top">Frames</a></li>
<li><a href="ControlledWorkerBoundJoin.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><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#methods_inherited_from_class_com.fluidops.fedx.evaluation.join.JoinExecutorBase">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</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>
