summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-11-28 11:39:06 -0500
committerSam Anthony <sam@samanthony.xyz>2024-11-28 11:39:06 -0500
commit3feb480540b33f4e40fd4d41d7ea88b56f91f133 (patch)
treeb403b6bd1591149e2935b59418fa7409a37b3444
parent46535b838e1a3426d10682515d81c23674bd58f6 (diff)
downloadsoen423-3feb480540b33f4e40fd4d41d7ea88b56f91f133.zip
Replica interface
-rw-r--r--src/main/java/derms/Replica.java9
-rw-r--r--src/main/java/derms/Replica1.java9
2 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/derms/Replica.java b/src/main/java/derms/Replica.java
new file mode 100644
index 0000000..eae0014
--- /dev/null
+++ b/src/main/java/derms/Replica.java
@@ -0,0 +1,9 @@
+package derms;
+
+public interface Replica {
+ boolean isAlive();
+ void startProcess();
+ void processRequest(Request request);
+ void restart();
+ int getId();
+}
diff --git a/src/main/java/derms/Replica1.java b/src/main/java/derms/Replica1.java
index d7c149d..1df25a2 100644
--- a/src/main/java/derms/Replica1.java
+++ b/src/main/java/derms/Replica1.java
@@ -7,7 +7,7 @@ import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.logging.Logger;
-public class Replica1 {
+public class Replica1 implements Replica {
private final ReliableUnicastSender<Response> unicastSender;
ReplicaManager replicaManager;
private final Logger log;
@@ -19,15 +19,18 @@ public class Replica1 {
}
+ @Override
public boolean isAlive() {
return alive;
}
+ @Override
public void startProcess() {
// Simulate the replica process starting.
log.info("Replica " + 1 + " started.");
}
+ @Override
public void processRequest(Request request) {
// Process the request and create a response.
endpoint1 = Endpoint.publish("http://localhost:8080/ws/derms", new DERMSServer("MTL"));
@@ -82,9 +85,13 @@ public class Replica1 {
replicaManager.sendResponseToFE(response);
}
+ @Override
public void restart() {
// Restart the replica process.
log.warning("Replica " + 1 + " is restarting...");
startProcess();
}
+
+ @Override
+ public int getId() { return 1; }
} \ No newline at end of file