p2pMapReduce.nodeModule.nodeFsm
Class NodeFSM

java.lang.Object
  extended by p2pMapReduce.nodeModule.nodeFsm.NodeFSM
All Implemented Interfaces:
EventListener

public class NodeFSM
extends java.lang.Object
implements EventListener

A finite state machine that implements the node behavior.


Constructor Summary
NodeFSM(NodeModuleIF nodeMod)
           
 
Method Summary
 void backupJobAssigned(PrimaryJob primaryJob, java.lang.String primaryNodeID)
           
 void backupJobCompleted(java.lang.String completedJobID)
           
 void backupMasterFailure(java.lang.String failedBackupID)
           
 void becomeMaster(java.lang.String coordID)
           
 void becomeSlave()
           
 void coordinatorFailure()
           
 void electionMessage(java.lang.String senderID)
           
 void forceTransition(NodeState.StateName stateName)
          Deprecated.  
 State getCurrentState()
           
 NetworkModuleIF getNetworkModule()
           
 NodeModuleIF getNodeModule()
           
 void handleEvent(EventIF event)
          The entry method to submit an event to handle.
 void jobAssigned(Job job, NodeInfo userNodeInfo)
           
 void jobCompleted(java.lang.String jobID, JobStatus.State jobState)
           
 void jobIDRequest(java.lang.Integer requestNumber, NodeInfo nodeInfo)
           
 void jobReassigned(BackupJob bJ)
           
 void jobUpdate(java.lang.String jobID, java.util.LinkedList<java.lang.String> updatedBackupMasterList, java.util.LinkedList<JobTask> updatedJobTaskList)
           
 void newCoordinator(java.lang.String senderID)
           
 void primaryElectionMessage(java.lang.String jobID, java.lang.String senderID, double senderLoad)
           
 void primaryMasterFailure(java.lang.String primaryID)
           
 void primaryUpdate(java.lang.String updatedJobID, java.lang.String primaryNodeID, double primaryLoad)
           
 void slaveCheck(java.lang.String taskID)
           
 void slaveFailure(java.lang.String failedSlaveID)
           
 void taskAssigned(java.util.LinkedList<Task> assignedTaskList, java.lang.String primaryID)
           
 void taskCompleted(java.lang.String taskID, Task.TaskStatus taskStatus)
           
protected  void timeout(java.lang.Object param)
           
 void transition(State nextState)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeFSM

public NodeFSM(NodeModuleIF nodeMod)
Method Detail

getNodeModule

public NodeModuleIF getNodeModule()

getNetworkModule

public NetworkModuleIF getNetworkModule()

handleEvent

public void handleEvent(EventIF event)
The entry method to submit an event to handle. The event handling is being in mutual exclusion in order to avoid leaving the node state inconsistent.

Specified by:
handleEvent in interface EventListener
Parameters:
event -

transition

public void transition(State nextState)

getCurrentState

public State getCurrentState()

timeout

protected void timeout(java.lang.Object param)

taskAssigned

public void taskAssigned(java.util.LinkedList<Task> assignedTaskList,
                         java.lang.String primaryID)

taskCompleted

public void taskCompleted(java.lang.String taskID,
                          Task.TaskStatus taskStatus)

becomeMaster

public void becomeMaster(java.lang.String coordID)

becomeSlave

public void becomeSlave()

electionMessage

public void electionMessage(java.lang.String senderID)

newCoordinator

public void newCoordinator(java.lang.String senderID)

coordinatorFailure

public void coordinatorFailure()

slaveFailure

public void slaveFailure(java.lang.String failedSlaveID)

backupMasterFailure

public void backupMasterFailure(java.lang.String failedBackupID)

jobIDRequest

public void jobIDRequest(java.lang.Integer requestNumber,
                         NodeInfo nodeInfo)

jobAssigned

public void jobAssigned(Job job,
                        NodeInfo userNodeInfo)

jobReassigned

public void jobReassigned(BackupJob bJ)

slaveCheck

public void slaveCheck(java.lang.String taskID)

jobCompleted

public void jobCompleted(java.lang.String jobID,
                         JobStatus.State jobState)

backupJobAssigned

public void backupJobAssigned(PrimaryJob primaryJob,
                              java.lang.String primaryNodeID)

primaryMasterFailure

public void primaryMasterFailure(java.lang.String primaryID)

primaryElectionMessage

public void primaryElectionMessage(java.lang.String jobID,
                                   java.lang.String senderID,
                                   double senderLoad)

primaryUpdate

public void primaryUpdate(java.lang.String updatedJobID,
                          java.lang.String primaryNodeID,
                          double primaryLoad)

jobUpdate

public void jobUpdate(java.lang.String jobID,
                      java.util.LinkedList<java.lang.String> updatedBackupMasterList,
                      java.util.LinkedList<JobTask> updatedJobTaskList)

backupJobCompleted

public void backupJobCompleted(java.lang.String completedJobID)

forceTransition

public void forceTransition(NodeState.StateName stateName)
Deprecated. 

XXX Dangerous forcing of state transition Only for testing purpose, will be removed