summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ROADMAP4
-rw-r--r--sources/editors/VSEditor.java1
-rw-r--r--sources/prefs/VSDefaultPrefs.java3
-rw-r--r--sources/protocols/BerkelyTimeProtocol.java12
-rw-r--r--sources/protocols/VSRegisteredProtocols.java2
-rw-r--r--sources/simulator/VSSimulationPanel.java3
6 files changed, 14 insertions, 11 deletions
diff --git a/ROADMAP b/ROADMAP
index f961006..7084ab9 100644
--- a/ROADMAP
+++ b/ROADMAP
@@ -1,8 +1,10 @@
TODO:
+Angeben, ob Prozesse ihre eigenen Nachrichten erhalten
+Angeben, ob Nachrichten, die ein Prozess von sich selbst erhaelt, verzoegert sind
Prozesse manuell abstuerzen lassen
Prozesse duerfen wiederbelebt werden
-
+
Prozess Quick Panel: Uhrabweichung / Geschwindigkeit direkt einstellen koennen
Event Manager (Prozessabstuerze genau vorprogrammieren)
Himmelobjekt
diff --git a/sources/editors/VSEditor.java b/sources/editors/VSEditor.java
index a81300d..af63257 100644
--- a/sources/editors/VSEditor.java
+++ b/sources/editors/VSEditor.java
@@ -228,7 +228,6 @@ abstract class VSEditor implements ActionListener {
booleanFields.put(key, valField);
}
-
for (String key : longKeys) {
String fullKey = VSPrefs.LONG_PREFIX + key;
String descr = prefsToEdit.getDescription(fullKey);
diff --git a/sources/prefs/VSDefaultPrefs.java b/sources/prefs/VSDefaultPrefs.java
index dac1b5c..9f1d4cf 100644
--- a/sources/prefs/VSDefaultPrefs.java
+++ b/sources/prefs/VSDefaultPrefs.java
@@ -30,12 +30,12 @@ public class VSDefaultPrefs extends VSPrefs {
public void fillWithDefaults() {
super.clear();
+ fillDefaultBooleans();
fillDefaultColors();
fillDefaultFloats();
fillDefaultIntegers();
fillDefaultLongs();
fillDefaultStrings();
- fillDefaultBooleans();
}
public void fillDefaultStrings() {
@@ -175,5 +175,6 @@ public class VSDefaultPrefs extends VSPrefs {
}
public void fillDefaultBooleans() {
+ initBoolean("sim.message.own.recv", false, "Prozesse empfangen ihre eigenen Nachrichten");
}
}
diff --git a/sources/protocols/BerkelyTimeProtocol.java b/sources/protocols/BerkelyTimeProtocol.java
index ea81cba..2e1166e 100644
--- a/sources/protocols/BerkelyTimeProtocol.java
+++ b/sources/protocols/BerkelyTimeProtocol.java
@@ -57,8 +57,8 @@ public class BerkelyTimeProtocol extends VSProtocol {
process.setTime(avgTime);
/* Tell all other processes what to do in order to justify their times */
sendJustifyRequests(avgTime);
- /* Start "clean" next time */
- onClientReset();
+ /* Start "clean" next time */
+ onClientReset();
}
}
@@ -91,7 +91,7 @@ public class BerkelyTimeProtocol extends VSProtocol {
message.setBoolean("isJustify", true);
message.setLong("timeDiff", diff);
message.setInteger("receiverProcessID", processID);
- sendMessage(message);
+ sendMessage(message);
}
}
@@ -104,17 +104,17 @@ public class BerkelyTimeProtocol extends VSProtocol {
message.setInteger("processID", process.getProcessID());
message.setLong("time", process.getTime());
message.setBoolean("isResponse", true);
- sendMessage(message);
+ sendMessage(message);
} else if (recvMessage.getBoolean("isJustify")) {
/* Check if it's "my" justify message */
- if (recvMessage.getInteger("receiverProcessID") != process.getProcessID())
+ if (recvMessage.getInteger("receiverProcessID") != process.getProcessID())
return;
long timeDiff = recvMessage.getLong("timeDiff");
long recvTime = process.getTime();
long newTime = process.getTime() + timeDiff;
- logg("Neue Zeit: " + newTime);
+ logg("Neue Zeit: " + newTime);
process.setTime(newTime);
}
diff --git a/sources/protocols/VSRegisteredProtocols.java b/sources/protocols/VSRegisteredProtocols.java
index 5153a07..c152a59 100644
--- a/sources/protocols/VSRegisteredProtocols.java
+++ b/sources/protocols/VSRegisteredProtocols.java
@@ -51,7 +51,7 @@ public final class VSRegisteredProtocols {
if (protocolObj instanceof VSProtocol) {
VSProtocol protocol = (VSProtocol) protocolObj;
protocol.init(process);
- return protocol;
+ return protocol;
}
return null;
diff --git a/sources/simulator/VSSimulationPanel.java b/sources/simulator/VSSimulationPanel.java
index 8a1a855..61ea4ad 100644
--- a/sources/simulator/VSSimulationPanel.java
+++ b/sources/simulator/VSSimulationPanel.java
@@ -570,9 +570,10 @@ public class VSSimulationPanel extends JPanel implements Runnable, MouseMotionLi
VSTask task = null;
VSProcess sendingProcess = message.getSendingProcess();
long deliverTime, outageTime, durationTime;
+ boolean recvOwn = prefs.getBoolean("sim.message.own.recv");
for (VSProcess receiverProcess : processes) {
- if (receiverProcess.equals(sendingProcess)) {
+ if (receiverProcess.equals(sendingProcess) && recvOwn) {
deliverTime = sendingProcess.getGlobalTime();
task = new VSTask(deliverTime, receiverProcess, message);
taskManager.addTask(task);