diff options
| -rw-r--r-- | ROADMAP | 4 | ||||
| -rw-r--r-- | sources/editors/VSEditor.java | 1 | ||||
| -rw-r--r-- | sources/prefs/VSDefaultPrefs.java | 3 | ||||
| -rw-r--r-- | sources/protocols/BerkelyTimeProtocol.java | 12 | ||||
| -rw-r--r-- | sources/protocols/VSRegisteredProtocols.java | 2 | ||||
| -rw-r--r-- | sources/simulator/VSSimulationPanel.java | 3 |
6 files changed, 14 insertions, 11 deletions
@@ -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); |
