org.codehaus.gpars

groovyx.gpars.dataflow.operator
[Groovy] Class DataflowOperator

java.lang.Object
  groovyx.gpars.dataflow.operator.DataflowProcessor
      groovyx.gpars.dataflow.operator.DataflowOperator

final class DataflowOperator
extends DataflowProcessor

Dataflow selectors and operators (processors) form the basic units in dataflow networks. They are typically combined into oriented graphs that transform data. They accept a set of input and output dataflow channels so that once values are available to be consumed in all the input channels the operator's body is triggered on the values, potentially generating values to be written into the output channels. The output channels at the same time are suitable to be used as input channels by some other dataflow processors. The channels allow processors to communicate. Dataflow selectors and operators enable creation of highly concurrent applications yet the abstraction hides the low-level concurrency primitives and exposes much friendlier API. Since selectors and operators internally leverage the actor implementation, they reuse a pool of threads and so the actual number of threads used by the calculation can be kept much lower than the actual number of processors used in the network.

Authors:
Vaclav Pech Date: Sep 9, 2009


Field Summary
 
Fields inherited from class DataflowProcessor
actor
 
Constructor Summary
DataflowOperator(PGroup group, java.util.Map channels, groovy.lang.Closure code)

Creates an operator After creation the operator needs to be started using the start() method.

 
Method Summary
void reportError(java.lang.Throwable e)

Is invoked in case the actor throws an exception.

private boolean verifyChannelParameters(java.util.Map channels, int parameters)

 
Methods inherited from class DataflowProcessor
bindAllOutputValues, bindAllOutputValuesAtomically, bindAllOutputs, bindAllOutputsAtomically, bindOutput, bindOutput, getOutput, getOutputs, getOutputs, join, reportError, shouldBeMultiThreaded, start, start, stop
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

DataflowOperator

DataflowOperator(PGroup group, java.util.Map channels, groovy.lang.Closure code)
Creates an operator After creation the operator needs to be started using the start() method.
Parameters:
channels - A map specifying "inputs" and "outputs" - dataflow channels (instances of the DataflowQueue or DataflowVariable classes) to use for inputs and outputs
code - The operator's body to run each time all inputs have a value to read


 
Method Detail

reportError

void reportError(java.lang.Throwable e)
Is invoked in case the actor throws an exception.


verifyChannelParameters

private boolean verifyChannelParameters(java.util.Map channels, int parameters)


 

Copyright © 2008–2010 Václav Pech. All Rights Reserved.