org.codehaus.gpars

groovyx.gpars.dataflow.operator
[Java] Class ForkingDataflowSelectorActor

java.lang.Object
  groovyx.gpars.serial.WithSerialId
      groovyx.gpars.actor.impl.MessageStream
          groovyx.gpars.actor.Actor
              groovyx.gpars.actor.AbstractLoopingActor
                  groovyx.gpars.actor.StaticDispatchActor
                      groovyx.gpars.dataflow.operator.DataflowProcessorActor
                          groovyx.gpars.dataflow.operator.DataflowSelectorActor
                              groovyx.gpars.dataflow.operator.ForkingDataflowSelectorActor

@java.lang.SuppressWarningsvoid startTask(final int index, final Object result) {
final class ForkingDataflowSelectorActor
extends DataflowSelectorActor

An selector's internal actor. Repeatedly polls inputs and once they're all available it performs the selector's body. The selector's body is executed in as a separate task, allowing multiple copies of the body to be run concurrently. The maxForks property guards the maximum number or concurrently run copies.

Authors:
Vaclav Pech


Field Summary
private int maxForks

private java.util.concurrent.Semaphore semaphore

private Pool threadPool

 
Fields inherited from class DataflowSelectorActor
passIndex
 
Fields inherited from class DataflowProcessorActor
CANNOT_OBTAIN_THE_SEMAPHORE_TO_FORK_OPERATOR_S_BODY, code, inputs, outputs, owningProcessor, stoppingGently
 
Fields inherited from class StaticDispatchActor
serialVersionUID
 
Fields inherited from class AbstractLoopingActor
core, currentSender, currentTimerTask, serialVersionUID, stoppedFlag, terminatedFlag, terminatingFlag, timeoutCounter
 
Fields inherited from class Actor
ACTOR_HAS_ALREADY_BEEN_STARTED, AFTER_START, CANNOT_SEND_REPLIES_NO_SENDER_HAS_BEEN_REGISTERED, EMPTY_ARGUMENTS, ON_DELIVERY_ERROR, RESPONDS_TO, START_MESSAGE, STOP_MESSAGE, TERMINATE_MESSAGE, TIMEOUT, TIMEOUT_MESSAGE, currentActorPerThread, currentThread, joinLatch, onStop, parallelGroup, serialVersionUID, timer
 
Fields inherited from class MessageStream
serialVersionUID
 
Fields inherited from class WithSerialId
serialHandle, serialVersionUID
 
Constructor Summary
ForkingDataflowSelectorActor(DataflowSelector owningOperator, PGroup group, java.util.List outputs, java.util.List inputs, groovy.lang.Closure code, int maxForks)

 
Method Summary
protected void forwardPoisonPill(java.lang.Object data)

void startTask(int index, java.lang.Object result)

 
Methods inherited from class DataflowSelectorActor
afterStart, handlePoisonPillInSelector, onMessage, startTask
 
Methods inherited from class DataflowProcessorActor
afterStart, afterStop, checkPoison, fireMessageArrived, forwardPoisonPill, isControlMessage, onException, onMessage, registerChannelListenersToAllInputs, reportException, send
 
Methods inherited from class StaticDispatchActor
onMessage
 
Methods inherited from class AbstractLoopingActor
cancelCurrentTimeoutTask, doStart, getCore, getSender, hasBeenStopped, initialize, isActive, isFair, makeFair, reply, replyIfExists, runEnhancedWithoutRepliesOnMessages, send, setParallelGroup, setTimeout, silentStart, start, stop, sweepNextMessage, terminate
 
Methods inherited from class Actor
callDynamic, createActorMessage, createRemoteHandle, deregisterCurrentActorWithThread, getJoinLatch, getParallelGroup, handleException, handleInterrupt, handleStart, handleTermination, handleTimeout, hasBeenStopped, isActive, isActorThread, join, join, join, join, onStop, registerCurrentActorWithThread, sendAndContinue, sendAndPromise, setParallelGroup, silentStart, start, stop, sweepNextMessage, sweepQueue, terminate, threadBoundActor
 
Methods inherited from class MessageStream
call, getRemoteClass, leftShift, reInterrupt, send, send, send, sendAndWait, sendAndWait, sendAndWait
 
Methods inherited from class WithSerialId
createRemoteHandle, getOrCreateSerialHandle, getRemoteClass, writeReplace
 

Field Detail

maxForks

private final int maxForks


semaphore

private final java.util.concurrent.Semaphore semaphore


threadPool

private final Pool threadPool


 
Constructor Detail

ForkingDataflowSelectorActor

@java.lang.SuppressWarningsthreadPool.execute(new Runnable() {
ForkingDataflowSelectorActor(DataflowSelector owningOperator, PGroup group, java.util.List outputs, java.util.List inputs, groovy.lang.Closure code, int maxForks)


 
Method Detail

forwardPoisonPill

@java.lang.Override
protected void forwardPoisonPill(java.lang.Object data)


startTask

@java.lang.Override}
void startTask(int index, java.lang.Object result)


 

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