p2pMapReduce.nodeModule.nodeFsm
Class NodeFSM
java.lang.Object
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.
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 |
NodeFSM
public NodeFSM(NodeModuleIF nodeMod)
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