Class SynchronousWorkerUnion<T>
java.lang.Object
org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
org.eclipse.rdf4j.common.iteration.LookAheadIteration<T,QueryEvaluationException>
org.eclipse.rdf4j.federated.evaluation.concurrent.ParallelExecutorBase<T>
org.eclipse.rdf4j.federated.evaluation.union.UnionExecutorBase<T>
org.eclipse.rdf4j.federated.evaluation.union.WorkerUnionBase<T>
org.eclipse.rdf4j.federated.evaluation.union.SynchronousWorkerUnion<T>
- All Implemented Interfaces:
AutoCloseable
,Runnable
,CloseableIteration<T,QueryEvaluationException>
,Iteration<T,QueryEvaluationException>
,ParallelExecutor<T>
Synchronous execution of union tasks, i.e. one after the other. The union result is contained in this iteration. Note
that the union operation is to be executed with the
ParallelExecutorBase.run()
method- Author:
- Andreas Schwarte
-
Field Summary
Fields inherited from class org.eclipse.rdf4j.federated.evaluation.union.WorkerUnionBase
tasks
Fields inherited from class org.eclipse.rdf4j.federated.evaluation.concurrent.ParallelExecutorBase
evaluationThread, executorId, finished, log, NEXT_EXECUTOR_ID, queryInfo, rightIter, rightQueue, strategy
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
union()
Note: this method must block until the union is executed completely.Methods inherited from class org.eclipse.rdf4j.federated.evaluation.union.WorkerUnionBase
addTask
Methods inherited from class org.eclipse.rdf4j.federated.evaluation.union.UnionExecutorBase
getExecutorType, performExecution
Methods inherited from class org.eclipse.rdf4j.federated.evaluation.concurrent.ParallelExecutorBase
addResult, checkTimeout, done, getDisplayId, getId, getNextElement, getQueryInfo, handleClose, isFinished, run, toss, toString
Methods inherited from class org.eclipse.rdf4j.common.iteration.LookAheadIteration
hasNext, next, remove
Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration
close, isClosed
-
Constructor Details
-
SynchronousWorkerUnion
-
-
Method Details
-
union
Description copied from class:UnionExecutorBase
Note: this method must block until the union is executed completely. Otherwise the result queue is marked as committed while this isn't the case. The blocking behavior in general is no problem: If you need concurrent access to the result (i.e. pipelining) just run the union in a separate thread. Access to the result iteration is synchronized.- Specified by:
union
in classUnionExecutorBase<T>
- Throws:
Exception
-