summaryrefslogtreecommitdiff
path: root/src/main/java/protocols/implementations/VSRaftProtocol.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/protocols/implementations/VSRaftProtocol.java')
-rw-r--r--src/main/java/protocols/implementations/VSRaftProtocol.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/protocols/implementations/VSRaftProtocol.java b/src/main/java/protocols/implementations/VSRaftProtocol.java
index c75628d..bad893c 100644
--- a/src/main/java/protocols/implementations/VSRaftProtocol.java
+++ b/src/main/java/protocols/implementations/VSRaftProtocol.java
@@ -103,6 +103,11 @@ public class VSRaftProtocol extends VSAbstractProtocol {
handleMessage(recvMessage);
}
+ @Override
+ protected boolean isRelevantMessageForContext(VSMessage message) {
+ return isServer() || isClient();
+ }
+
/* (non-Javadoc)
* @see protocols.VSAbstractProtocol#onServerSchedule()
*/
@@ -366,7 +371,10 @@ public class VSRaftProtocol extends VSAbstractProtocol {
heartbeatAck.setInteger("term", currentTerm);
heartbeatAck.setInteger("pid", process.getProcessID());
heartbeatAck.setInteger("targetPid", messageLeaderId);
+ boolean previousContextIsServer = currentContextIsServer();
+ currentContextIsServer(true);
sendMessage(heartbeatAck);
+ currentContextIsServer(previousContextIsServer);
}
/**
@@ -417,7 +425,10 @@ public class VSRaftProtocol extends VSAbstractProtocol {
voteResponse.setInteger("pid", process.getProcessID());
voteResponse.setBoolean("voteGranted", voteGranted);
voteResponse.setInteger("targetPid", candidateId);
+ boolean previousContextIsServer = currentContextIsServer();
+ currentContextIsServer(true);
sendMessage(voteResponse);
+ currentContextIsServer(previousContextIsServer);
}
/**
@@ -487,7 +498,10 @@ public class VSRaftProtocol extends VSAbstractProtocol {
appendAck.setInteger("pid", process.getProcessID());
appendAck.setInteger("logIndex", messageLogIndex);
appendAck.setInteger("targetPid", messageLeaderId);
+ boolean previousContextIsServer = currentContextIsServer();
+ currentContextIsServer(true);
sendMessage(appendAck);
+ currentContextIsServer(previousContextIsServer);
}
/**