summaryrefslogtreecommitdiff
path: root/sources/protocols/implementations
diff options
context:
space:
mode:
Diffstat (limited to 'sources/protocols/implementations')
-rw-r--r--sources/protocols/implementations/BerkelyTimeProtocol.java44
-rw-r--r--sources/protocols/implementations/BroadcastSturmProtocol.java36
-rw-r--r--sources/protocols/implementations/DummyProtocol.java33
-rw-r--r--sources/protocols/implementations/ExternalTimeSyncProtocol.java36
-rw-r--r--sources/protocols/implementations/InternalTimeSyncProtocol.java34
-rw-r--r--sources/protocols/implementations/PingPongProtocol.java36
6 files changed, 217 insertions, 2 deletions
diff --git a/sources/protocols/implementations/BerkelyTimeProtocol.java b/sources/protocols/implementations/BerkelyTimeProtocol.java
index 20acc22..7326ac5 100644
--- a/sources/protocols/implementations/BerkelyTimeProtocol.java
+++ b/sources/protocols/implementations/BerkelyTimeProtocol.java
@@ -1,3 +1,7 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
package protocols.implementations;
import protocols.VSProtocol;
@@ -5,18 +9,29 @@ import core.VSMessage;
import java.util.HashMap;
+// TODO: Auto-generated Javadoc
+/**
+ * The Class BerkelyTimeProtocol.
+ */
public class BerkelyTimeProtocol extends VSProtocol {
/* Berkely Server variables */
/* Integer: Process ID, Long: Local time of the process */
+ /** The process times. */
private HashMap<Integer,Long> processTimes = new HashMap<Integer,Long>();
/* Integer: Process ID, Long: Time of receiving the response from the process */
+ /** The recv times. */
private HashMap<Integer,Long> recvTimes = new HashMap<Integer,Long>();
/* Integer: Process ID, Long: Calculated process times (using the RTT) */
+ /** The real times rtt. */
private HashMap<Integer,Long> realTimesRTT = new HashMap<Integer,Long>();
/* Time the request/response has started */
+ /** The request time. */
private long requestTime;
+ /**
+ * Instantiates a new berkely time protocol.
+ */
public BerkelyTimeProtocol() {
setClassname(getClass().toString());
@@ -24,15 +39,24 @@ public class BerkelyTimeProtocol extends VSProtocol {
setInteger("numProcesses", 0);
}
+ /* (non-Javadoc)
+ * @see events.VSEvent#onInit()
+ */
protected void onInit() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientReset()
+ */
protected void onClientReset() {
processTimes.clear();
recvTimes.clear();
realTimesRTT.clear();
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientStart()
+ */
protected void onClientStart() {
requestTime = process.getTime();
VSMessage message = new VSMessage(getClassname());
@@ -40,6 +64,9 @@ public class BerkelyTimeProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientRecv(core.VSMessage)
+ */
protected void onClientRecv(VSMessage recvMessage) {
/* Ignore all protocol messages which are not a response message, e.g. itself */
if (!recvMessage.getBoolean("isResponse"))
@@ -64,7 +91,9 @@ public class BerkelyTimeProtocol extends VSProtocol {
}
/**
- * Calculate the new average time
+ * Calculate the new average time.
+ *
+ * @return the long
*/
private long calculateAverageTime() {
long sum = 0;
@@ -82,7 +111,9 @@ public class BerkelyTimeProtocol extends VSProtocol {
}
/**
- * Sends to all clients a value to justify their local clocks
+ * Sends to all clients a value to justify their local clocks.
+ *
+ * @param avgTime the avg time
*/
private void sendJustifyRequests(long avgTime) {
for (Integer processID : processTimes.keySet()) {
@@ -96,9 +127,15 @@ public class BerkelyTimeProtocol extends VSProtocol {
}
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerReset()
+ */
protected void onServerReset() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerRecv(core.VSMessage)
+ */
protected void onServerRecv(VSMessage recvMessage) {
if (recvMessage.getBoolean("isRequest")) {
VSMessage message = new VSMessage(getClassname());
@@ -121,6 +158,9 @@ public class BerkelyTimeProtocol extends VSProtocol {
}
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#toString()
+ */
public String toString() {
return super.toString();
}
diff --git a/sources/protocols/implementations/BroadcastSturmProtocol.java b/sources/protocols/implementations/BroadcastSturmProtocol.java
index 165a2f3..9efd347 100644
--- a/sources/protocols/implementations/BroadcastSturmProtocol.java
+++ b/sources/protocols/implementations/BroadcastSturmProtocol.java
@@ -1,3 +1,7 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
package protocols.implementations;
import java.util.ArrayList;
@@ -5,21 +9,41 @@ import java.util.ArrayList;
import core.VSMessage;
import protocols.VSProtocol;
+// TODO: Auto-generated Javadoc
+/**
+ * The Class BroadcastSturmProtocol.
+ */
public class BroadcastSturmProtocol extends VSProtocol {
+
+ /** The sent messages. */
private ArrayList<VSMessage> sentMessages;
+
+ /** The broadcast count. */
private static int broadcastCount;
+ /**
+ * Instantiates a new broadcast sturm protocol.
+ */
public BroadcastSturmProtocol() {
setClassname(getClass().toString());
sentMessages = new ArrayList<VSMessage>();
}
+ /* (non-Javadoc)
+ * @see events.VSEvent#onInit()
+ */
protected void onInit() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientReset()
+ */
protected void onClientReset() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientStart()
+ */
protected void onClientStart() {
VSMessage message = new VSMessage(getClassname());
message.setInteger("Broadcast", broadcastCount++);
@@ -27,13 +51,22 @@ public class BroadcastSturmProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientRecv(core.VSMessage)
+ */
protected void onClientRecv(VSMessage recvMessage) {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerReset()
+ */
protected void onServerReset() {
sentMessages.clear();
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerRecv(core.VSMessage)
+ */
protected void onServerRecv(VSMessage recvMessage) {
if (!sentMessages.contains(recvMessage)) {
VSMessage message = new VSMessage(getClassname());
@@ -44,6 +77,9 @@ public class BroadcastSturmProtocol extends VSProtocol {
}
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#toString()
+ */
public String toString() {
return super.toString();
}
diff --git a/sources/protocols/implementations/DummyProtocol.java b/sources/protocols/implementations/DummyProtocol.java
index a7beb19..50690b3 100644
--- a/sources/protocols/implementations/DummyProtocol.java
+++ b/sources/protocols/implementations/DummyProtocol.java
@@ -1,20 +1,41 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
package protocols.implementations;
import protocols.VSProtocol;
import core.VSMessage;
+// TODO: Auto-generated Javadoc
+/**
+ * The Class DummyProtocol.
+ */
public class DummyProtocol extends VSProtocol {
+
+ /**
+ * Instantiates a new dummy protocol.
+ */
public DummyProtocol() {
setClassname(getClass().toString());
}
+ /* (non-Javadoc)
+ * @see events.VSEvent#onInit()
+ */
protected void onInit() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientReset()
+ */
protected void onClientReset() {
logg("onClientReset()");
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientStart()
+ */
protected void onClientStart() {
logg("onClientStart()");
@@ -26,6 +47,9 @@ public class DummyProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientRecv(core.VSMessage)
+ */
protected void onClientRecv(VSMessage recvMessage) {
logg("onClientRecv("+recvMessage+")");
@@ -35,14 +59,23 @@ public class DummyProtocol extends VSProtocol {
float f = recvMessage.getFloat("A float");
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerReset()
+ */
protected void onServerReset() {
logg("onClientReset()");
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerRecv(core.VSMessage)
+ */
protected void onServerRecv(VSMessage recvMessage) {
logg("onServerRecv("+recvMessage+")");
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#toString()
+ */
public String toString() {
return super.toString() + "; Dummy Test";
}
diff --git a/sources/protocols/implementations/ExternalTimeSyncProtocol.java b/sources/protocols/implementations/ExternalTimeSyncProtocol.java
index 5a55d89..63edcaf 100644
--- a/sources/protocols/implementations/ExternalTimeSyncProtocol.java
+++ b/sources/protocols/implementations/ExternalTimeSyncProtocol.java
@@ -1,22 +1,46 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
package protocols.implementations;
import core.VSMessage;
import protocols.VSProtocol;
+// TODO: Auto-generated Javadoc
+/**
+ * The Class ExternalTimeSyncProtocol.
+ */
public class ExternalTimeSyncProtocol extends VSProtocol {
+
+ /** The request time. */
private long requestTime;
+
+ /** The waiting for response. */
private boolean waitingForResponse;
+ /**
+ * Instantiates a new external time sync protocol.
+ */
public ExternalTimeSyncProtocol() {
setClassname(getClass().toString());
}
+ /* (non-Javadoc)
+ * @see events.VSEvent#onInit()
+ */
protected void onInit() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientReset()
+ */
protected void onClientReset() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientStart()
+ */
protected void onClientStart() {
requestTime = process.getTime();
waitingForResponse = true;
@@ -27,6 +51,9 @@ public class ExternalTimeSyncProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientRecv(core.VSMessage)
+ */
protected void onClientRecv(VSMessage recvMessage) {
if (!recvMessage.getBoolean("isServerResponse"))
return;
@@ -45,9 +72,15 @@ public class ExternalTimeSyncProtocol extends VSProtocol {
process.setTime(newTime);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerReset()
+ */
protected void onServerReset() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerRecv(core.VSMessage)
+ */
protected void onServerRecv(VSMessage recvMessage) {
if (!recvMessage.getBoolean("isClientRequest"))
return;
@@ -59,6 +92,9 @@ public class ExternalTimeSyncProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#toString()
+ */
public String toString() {
return super.toString(); //+ "; " + prefs.getString("lang.requesttime") + ": " + requestTime;
}
diff --git a/sources/protocols/implementations/InternalTimeSyncProtocol.java b/sources/protocols/implementations/InternalTimeSyncProtocol.java
index ff9c4e3..2f9a84c 100644
--- a/sources/protocols/implementations/InternalTimeSyncProtocol.java
+++ b/sources/protocols/implementations/InternalTimeSyncProtocol.java
@@ -1,11 +1,24 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
package protocols.implementations;
import core.VSMessage;
import protocols.VSProtocol;
+// TODO: Auto-generated Javadoc
+/**
+ * The Class InternalTimeSyncProtocol.
+ */
public class InternalTimeSyncProtocol extends VSProtocol {
+
+ /** The waiting for response. */
private boolean waitingForResponse;
+ /**
+ * Instantiates a new internal time sync protocol.
+ */
public InternalTimeSyncProtocol() {
setClassname(getClass().toString());
@@ -14,12 +27,21 @@ public class InternalTimeSyncProtocol extends VSProtocol {
setLong("t_max", 2000);
}
+ /* (non-Javadoc)
+ * @see events.VSEvent#onInit()
+ */
protected void onInit() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientReset()
+ */
protected void onClientReset() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientStart()
+ */
protected void onClientStart() {
waitingForResponse = true;
@@ -29,6 +51,9 @@ public class InternalTimeSyncProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientRecv(core.VSMessage)
+ */
protected void onClientRecv(VSMessage recvMessage) {
/* Ignore all protocol messages which are not a response message, e.g. itself */
if (!recvMessage.getBoolean("isServerResponse"))
@@ -51,9 +76,15 @@ public class InternalTimeSyncProtocol extends VSProtocol {
process.setTime(newTime);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerReset()
+ */
protected void onServerReset() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerRecv(core.VSMessage)
+ */
protected void onServerRecv(VSMessage recvMessage) {
/* Ignore all protocol messages which are not a request message, e.g. itself */
if (!recvMessage.getBoolean("isClientRequest"))
@@ -66,6 +97,9 @@ public class InternalTimeSyncProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#toString()
+ */
public String toString() {
return super.toString();
}
diff --git a/sources/protocols/implementations/PingPongProtocol.java b/sources/protocols/implementations/PingPongProtocol.java
index a2886f9..5df152f 100644
--- a/sources/protocols/implementations/PingPongProtocol.java
+++ b/sources/protocols/implementations/PingPongProtocol.java
@@ -1,23 +1,47 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
package protocols.implementations;
import core.VSMessage;
import protocols.VSProtocol;
+// TODO: Auto-generated Javadoc
+/**
+ * The Class PingPongProtocol.
+ */
public class PingPongProtocol extends VSProtocol {
+
+ /** The client counter. */
private int clientCounter;
+
+ /** The server counter. */
private int serverCounter;
+ /**
+ * Instantiates a new ping pong protocol.
+ */
public PingPongProtocol() {
setClassname(getClass().toString());
}
+ /* (non-Javadoc)
+ * @see events.VSEvent#onInit()
+ */
protected void onInit() {
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientReset()
+ */
protected void onClientReset() {
clientCounter = 0;
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientStart()
+ */
protected void onClientStart() {
VSMessage message = new VSMessage(getClassname());
message.setBoolean("fromClient", true);
@@ -25,6 +49,9 @@ public class PingPongProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onClientRecv(core.VSMessage)
+ */
protected void onClientRecv(VSMessage recvMessage) {
if (!recvMessage.getBoolean("fromServer"))
return;
@@ -37,10 +64,16 @@ public class PingPongProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerReset()
+ */
protected void onServerReset() {
serverCounter = 0;
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#onServerRecv(core.VSMessage)
+ */
protected void onServerRecv(VSMessage recvMessage) {
if (!recvMessage.getBoolean("fromClient"))
return;
@@ -53,6 +86,9 @@ public class PingPongProtocol extends VSProtocol {
sendMessage(message);
}
+ /* (non-Javadoc)
+ * @see protocols.VSProtocol#toString()
+ */
public String toString() {
return super.toString();
}