summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/prefs/VSDefaultPrefs.java1
-rw-r--r--sources/simulator/VSSimulatorCanvas.java6
2 files changed, 7 insertions, 0 deletions
diff --git a/sources/prefs/VSDefaultPrefs.java b/sources/prefs/VSDefaultPrefs.java
index bfbcd1d..f222824 100644
--- a/sources/prefs/VSDefaultPrefs.java
+++ b/sources/prefs/VSDefaultPrefs.java
@@ -268,6 +268,7 @@ public class VSDefaultPrefs extends VSPrefs {
initBoolean("sim.mode.expert", false, "Expertenmodus aktivieren");
initBoolean("sim.message.own.recv", false, "Prozesse empfangen eigene Nachrichten");
initBoolean("sim.message.prob.mean", true, "Mittelwerte der Nachrichtverlustw'k. bilden");
+ initBoolean("sim.message.sendingtime.mean", true, "Mittelwerte der Übertragungszeiten bilden");
initBoolean("sim.messages.relevant", true, "Nur relevante Nachrichten anzeigen");
initBoolean("sim.periodic", false, "Simulation periodisch wiederholen");
initBoolean("sim.update.lamporttime.all", false, "Lamportzeiten betreffen alle Ereignisse");
diff --git a/sources/simulator/VSSimulatorCanvas.java b/sources/simulator/VSSimulatorCanvas.java
index baf4b3e..d5506ba 100644
--- a/sources/simulator/VSSimulatorCanvas.java
+++ b/sources/simulator/VSSimulatorCanvas.java
@@ -1483,6 +1483,12 @@ public class VSSimulatorCanvas extends Canvas
} else {
durationTime = sendingProcess.getDurationTime();
+
+ if (prefs.getBoolean("sim.message.sendingtime.mean")) {
+ durationTime += receiverProcess.getDurationTime();
+ durationTime /= 2;
+ }
+
deliverTime = sendingProcess.getGlobalTime() +
durationTime;