From 271949bf140359dd97cbee9ef927ee9280c9f31f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 17 May 2008 14:55:16 +0000 Subject: Vectortimestamps work Better representation of Lamporttimestamps BerkelyTimeProtocol M trunk/ROADMAP M trunk/sources/prefs/VSPrefs.java M trunk/sources/prefs/VSDefaultPrefs.java M trunk/sources/simulator/VSMain.java M trunk/sources/simulator/VSSimulation.java M trunk/sources/simulator/VSSimulationPanel.java M trunk/sources/utils/VSFrame.java M trunk/sources/utils/VSClassLoader.java M trunk/sources/utils/VSInfoArea.java M trunk/sources/protocols/BroadcastSturmProtocol.java M trunk/sources/protocols/ExternalTimeSyncProtocol.java M trunk/sources/protocols/RegisteredProtocols.java M trunk/sources/protocols/PingPongProtocol.java M trunk/sources/protocols/InternalTimeSyncProtocol.java M trunk/sources/protocols/VSProtocol.java M trunk/sources/protocols/DummyProtocol.java A trunk/sources/protocols/BerkelyTimeProtocol.java M trunk/sources/core/VSLamport.java M trunk/sources/core/VSProcess.java A trunk/sources/core/VSTime.java A trunk/sources/core/VSVectorTime.java M trunk/sources/core/VSTask.java M trunk/sources/core/VSMessage.java M trunk/sources/editors/VSEditor.java M trunk/sources/editors/VSProtocolEditor.java M trunk/sources/editors/VSSimulationEditor.java M trunk/sources/editors/VSEditorFrame.java M trunk/sources/editors/VSProcessEditor.java --- sources/protocols/VSProtocol.java | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'sources/protocols/VSProtocol.java') diff --git a/sources/protocols/VSProtocol.java b/sources/protocols/VSProtocol.java index b66f034..4f34195 100644 --- a/sources/protocols/VSProtocol.java +++ b/sources/protocols/VSProtocol.java @@ -11,9 +11,12 @@ abstract public class VSProtocol extends VSPrefs implements VSEvent { private boolean isClient; protected VSProcess process; private boolean currentContextIsServer; - private boolean lamportIncreased; - public VSProtocol() { + public void init(VSProcess process) { + this.process = process; + this.prefs = process.getPrefs(); + + onInit(); } protected final void setProtocolClassname(String protocolClassname) { @@ -36,7 +39,8 @@ abstract public class VSProtocol extends VSPrefs implements VSEvent { } protected void sendMessage(VSMessage message) { - process.setLamportTime(process.getLamportTime()+1); + process.increaseLamportTime(); + process.increaseVectorTime(); message.setSendingProcess(process); process.sendMessage(message); } @@ -75,14 +79,6 @@ abstract public class VSProtocol extends VSPrefs implements VSEvent { this.isClient = isClient; } - public final void setVSPrefs(VSPrefs prefs) { - this.prefs = prefs; - } - - public final void setProcess(VSProcess process) { - this.process = process; - } - public void reset() { if (isServer) { currentContextIsServer = true; @@ -95,6 +91,7 @@ abstract public class VSProtocol extends VSPrefs implements VSEvent { } } + abstract protected void onInit(); abstract protected void onClientStart(); abstract protected void onClientReset(); abstract protected void onClientRecv(VSMessage message); @@ -110,6 +107,10 @@ abstract public class VSProtocol extends VSPrefs implements VSEvent { return protocol.getID() == getID(); } + protected int getNumProcesses() { + return process.getSimulationPanel().getNumProcesses(); + } + public String toString() { String type = new String(); -- cgit v1.2.3