summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2024-12-02 18:56:40 -0500
committerSam Anthony <sam@samanthony.xyz>2024-12-02 18:56:40 -0500
commitb9a3af628b1a6fd5903324b578940f25b2613032 (patch)
treeaf356472e2984c46b823b19231bf01266dd5a55a /src
parent51d3b7fe05fac5d42445d73e7ec047d523bdfbb5 (diff)
downloadsoen423-b9a3af628b1a6fd5903324b578940f25b2613032.zip
pass city name to RM
Diffstat (limited to 'src')
-rw-r--r--src/main/java/derms/ReplicaManager.java24
-rw-r--r--src/main/java/derms/replica2/Replica2.java4
-rw-r--r--src/main/java/derms/replica3/Replica3.java4
3 files changed, 21 insertions, 11 deletions
diff --git a/src/main/java/derms/ReplicaManager.java b/src/main/java/derms/ReplicaManager.java
index 85cdbe8..93819a3 100644
--- a/src/main/java/derms/ReplicaManager.java
+++ b/src/main/java/derms/ReplicaManager.java
@@ -21,8 +21,9 @@ import java.io.ObjectInputStream;
import java.util.logging.Logger;
public class ReplicaManager {
- public static final String usage = "Usage: java ReplicaManager <replicaId> <frontEndIP>";
+ public static final String usage = "Usage: java ReplicaManager <replicaId> <city> <frontEndIP>";
private final int replicaId;
+ private final String city;
private Replica replica;
private Response response;
private final Logger log;
@@ -30,8 +31,9 @@ public class ReplicaManager {
private ReliableUnicastSender<Response> unicastSender;
private TotalOrderMulticastReceiver multicastReceiver;
- public ReplicaManager(int replicaId, InetAddress frontEndIP) throws IOException {
+ public ReplicaManager(int replicaId, String city, InetAddress frontEndIP) throws IOException {
this.replicaId = replicaId;
+ this.city = city;
this.log = Logger.getLogger(getClass().getName());
initUnicastSender(frontEndIP);
initReplica();
@@ -48,16 +50,16 @@ public class ReplicaManager {
private void initReplica() throws IOException {
switch (replicaId) {
case 1:
- replica = new derms.replica2.Replica2(new derms.replica2.City(), this);
+ replica = new derms.replica2.Replica2(city, this);
break;
case 2:
- replica = new derms.replica2.Replica2(new derms.replica2.City(), this);
+ replica = new derms.replica2.Replica2(city, this);
break;
case 3:
- replica = new derms.replica3.Replica3(new derms.replica3.City(), this);
+ replica = new derms.replica3.Replica3(city, this);
break;
case 4:
- replica = new derms.replica2.Replica2(new derms.replica2.City(), this);
+ replica = new derms.replica2.Replica2(city, this);
break;
}
replica.startProcess();
@@ -135,16 +137,16 @@ public class ReplicaManager {
}
public static void main(String[] args) {
- if (args.length < 2) {
+ if (args.length < 3) {
System.err.println(usage);
System.exit(1);
}
- int replicaId = Integer.parseInt(args[0]);
-
try {
- InetAddress frontEndIP = InetAddress.getByName(args[1]);
- ReplicaManager replicaManager = new ReplicaManager(replicaId, frontEndIP);
+ int replicaId = Integer.parseInt(args[0]);
+ String city = args[1];
+ InetAddress frontEndIP = InetAddress.getByName(args[2]);
+ ReplicaManager replicaManager = new ReplicaManager(replicaId, city, frontEndIP);
System.out.println("ReplicaManager " + replicaId + " is running.");
} catch (IOException e) {
System.err.println("Failed to start ReplicaManager: " + e.getMessage());
diff --git a/src/main/java/derms/replica2/Replica2.java b/src/main/java/derms/replica2/Replica2.java
index 251754d..4815f5f 100644
--- a/src/main/java/derms/replica2/Replica2.java
+++ b/src/main/java/derms/replica2/Replica2.java
@@ -52,6 +52,10 @@ public class Replica2 implements Replica {
log.info("Created CoordinatorServer");
}
+ public Replica2(String city, ReplicaManager replicaManager) throws IOException {
+ this(new City(city), replicaManager);
+ }
+
@Override
public boolean isAlive() { return alive; }
diff --git a/src/main/java/derms/replica3/Replica3.java b/src/main/java/derms/replica3/Replica3.java
index 34891f7..bf2597a 100644
--- a/src/main/java/derms/replica3/Replica3.java
+++ b/src/main/java/derms/replica3/Replica3.java
@@ -47,6 +47,10 @@ public class Replica3 implements Replica{
this.alive = true;
}
+ public Replica3(String city, ReplicaManager replicaManager) throws IOException {
+ this(new City(city), replicaManager);
+ }
+
@Override
public boolean isAlive() { return alive; }