From a0a6fcd7bd2dd2fb736477bcbd3d034b38565fba Mon Sep 17 00:00:00 2001 From: ShazaAli Date: Tue, 3 Dec 2024 11:03:59 -0500 Subject: Handle failure in ReplicaManager --- src/main/java/derms/ReplicaManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/derms/ReplicaManager.java b/src/main/java/derms/ReplicaManager.java index 83c1897..6ff5de2 100644 --- a/src/main/java/derms/ReplicaManager.java +++ b/src/main/java/derms/ReplicaManager.java @@ -18,6 +18,7 @@ import java.net.NetworkInterface; import java.net.Socket; import java.io.ObjectOutputStream; import java.io.ObjectInputStream; +import java.util.Objects; import java.util.logging.Logger; public class ReplicaManager { @@ -77,7 +78,11 @@ public class ReplicaManager { MessagePayload receivedPayload = multicastReceiver.receive(); Request request = (Request) receivedPayload; log.info("Received request: " + request); - replica.processRequest(request); + if (Objects.equals(request.getMessageType(), "1" + replicaId)) { + handleByzantineFailure(); + } else { + replica.processRequest(request); + } } catch (InterruptedException e) { log.severe("Failed to receive request: " + e.getMessage()); Thread.currentThread().interrupt(); -- cgit v1.2.3