Inheritance diagram for fr.dyade.aaa.agent.HAEngine:


Public Member Functions | |
| void | setJGroups (JGroups jgroups) |
| void | save () throws IOException |
| void | restore () throws Exception |
| synchronized void | post (Message msg) throws Exception |
| void | validate () |
Protected Member Functions | |
| void | onTimeOut () throws Exception |
Package Functions | |
| HAEngine () throws Exception | |
| void | commit () throws Exception |
| void | abort (Exception exc) throws Exception |
| void | receiveFromJGroups (Message msg) throws Exception |
| synchronized void | getState () throws Exception |
| synchronized void | setState (HAStateReply reply) throws Exception |
| Object | load (byte[] buf) throws Exception |
Package Attributes | |
| volatile boolean | needToSync = false |
| volatile Vector | requestor = null |
Definition at line 36 of file HAEngine.java.
| void fr.dyade.aaa.agent.HAEngine.save | ( | ) | throws IOException |
Saves logical clock information to persistent storage.
Reimplemented from fr.dyade.aaa.agent.Engine.
Definition at line 62 of file HAEngine.java.
| void fr.dyade.aaa.agent.HAEngine.restore | ( | ) | throws Exception |
Restores logical clock information from persistent storage.
Reimplemented from fr.dyade.aaa.agent.Engine.
Definition at line 67 of file HAEngine.java.
| synchronized void fr.dyade.aaa.agent.HAEngine.post | ( | Message | msg | ) | throws Exception |
Adds a message in "ready to deliver" list. This method allocates a new time stamp to the message ; be Careful, changing the stamp imply the filename change too.
Reimplemented from fr.dyade.aaa.agent.Engine.
Definition at line 74 of file HAEngine.java.
References fr.dyade.aaa.agent.JGroups.coordinator, fr.dyade.aaa.agent.Engine.getName(), fr.dyade.aaa.agent.Engine.logmon, fr.dyade.aaa.agent.Engine.msg, fr.dyade.aaa.agent.Message.save(), fr.dyade.aaa.agent.JGroups.send(), and fr.dyade.aaa.agent.Engine.stamp().
Here is the call graph for this function:

| void fr.dyade.aaa.agent.HAEngine.validate | ( | ) |
Validates all messages pushed in queue during transaction session.
Reimplemented from fr.dyade.aaa.agent.Engine.
Definition at line 123 of file HAEngine.java.
References fr.dyade.aaa.agent.HAEngine.needToSync.
| void fr.dyade.aaa.agent.HAEngine.commit | ( | ) | throws Exception [package] |
Commit the agent reaction in case of rigth termination:
Reimplemented from fr.dyade.aaa.agent.Engine.
Definition at line 137 of file HAEngine.java.
References fr.dyade.aaa.agent.HAEngine.getState(), fr.dyade.aaa.agent.Engine.msg, fr.dyade.aaa.agent.HAEngine.needToSync, fr.dyade.aaa.agent.Engine.qin, fr.dyade.aaa.agent.HAEngine.requestor, and fr.dyade.aaa.agent.MessageQueue.size().
Referenced by fr.dyade.aaa.agent.HAEngine.onTimeOut().
Here is the call graph for this function:

| void fr.dyade.aaa.agent.HAEngine.abort | ( | Exception | exc | ) | throws Exception [package] |
Abort the agent reaction in case of error during execution. In case of unrecoverable error during the reaction we have to rollback:
Reimplemented from fr.dyade.aaa.agent.Engine.
Definition at line 164 of file HAEngine.java.
| synchronized void fr.dyade.aaa.agent.HAEngine.getState | ( | ) | throws Exception [package] |
Get the current state of Engine: agents, messages, etc. This operation is done in transactoion so Engine can't get more messages and Network can't post new !!
Definition at line 197 of file HAEngine.java.
References fr.dyade.aaa.agent.Engine.agent, fr.dyade.aaa.agent.HAStateReply.agents, fr.dyade.aaa.agent.Engine.agents, fr.dyade.aaa.agent.Agent.getId(), fr.dyade.aaa.agent.Network.getStamp(), fr.dyade.aaa.agent.Engine.getStamp(), fr.dyade.aaa.agent.Engine.logmon, fr.dyade.aaa.agent.HAStateReply.messages, fr.dyade.aaa.agent.Engine.msg, fr.dyade.aaa.agent.JGroups.network, fr.dyade.aaa.agent.Engine.now, fr.dyade.aaa.agent.HAStateReply.now, fr.dyade.aaa.agent.HAEngine.requestor, fr.dyade.aaa.agent.JGroups.send(), fr.dyade.aaa.agent.HAStateReply.setNetworkStamp(), fr.dyade.aaa.agent.HAStateReply.stamp, and fr.dyade.aaa.agent.Agent.writeObject().
Referenced by fr.dyade.aaa.agent.HAEngine.commit().
Here is the call graph for this function:

1.5.0