summaryrefslogtreecommitdiff
path: root/sources/core/VSTask.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-05-17 21:50:44 +0000
committerPaul Buetow <paul@buetow.org>2008-05-17 21:50:44 +0000
commit8602c18db94281afd5bc0ceb5930a3d99fbe7a38 (patch)
tree6883d776ac6d2ead8df8711ed6dac4388680d181 /sources/core/VSTask.java
parentdbb780b7295c0df60269ee6f3c85c3056d6262b8 (diff)
Manual crash/recover implemented.
Diffstat (limited to 'sources/core/VSTask.java')
-rw-r--r--sources/core/VSTask.java28
1 files changed, 23 insertions, 5 deletions
diff --git a/sources/core/VSTask.java b/sources/core/VSTask.java
index d481300..4fe7b37 100644
--- a/sources/core/VSTask.java
+++ b/sources/core/VSTask.java
@@ -1,12 +1,11 @@
package core;
-import prefs.VSPrefs;
import events.*;
+import prefs.VSPrefs;
import protocols.VSProtocol;
import simulator.*;
-public class VSTask {
- //public final static int RUN_ON_CLIENT_START = 1;
+public class VSTask implements Comparable {
private long taskTime;
private VSEvent event;
private VSProcess process;
@@ -32,6 +31,10 @@ public class VSTask {
return event instanceof VSMessage;
}
+ public boolean isProcessRecoverEvent() {
+ return event instanceof events.implementations.ProcessRecoverEvent;
+ }
+
public boolean isProtocol(VSProtocol protocol) {
if (event instanceof VSProtocol)
return ((VSProtocol) event).equals(protocol);
@@ -51,8 +54,9 @@ public class VSTask {
}
public void run() {
- if (process.isCrashed())
- return;
+ /* Process crash allready checked in VSTaskManager */
+ //if (process.isCrashed() && !(event instanceof ProcessRecoverEvent))
+ // return;
if (event instanceof VSMessage) {
onMessageRecv();
@@ -140,5 +144,19 @@ public class VSTask {
return descr;
}
+
+ public int compareTo(Object object) {
+ if (object instanceof VSTask) {
+ final VSTask task = (VSTask) object;
+
+ if (taskTime < task.getTaskTime())
+ return -1;
+
+ else if (taskTime > task.getTaskTime())
+ return 1;
+ }
+
+ return 0;
+ }
}