Introduce candidate election timeout divisor
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / DefaultConfigParamsImpl.java
index 53728043fb8fcdf1a7444f27886eef19bedcb16f..4185754da462651e8c121f5b6d3cf312f5f5ace6 100644 (file)
@@ -66,6 +66,7 @@ public class DefaultConfigParamsImpl implements ConfigParams {
     private int snapshotChunkSize = SNAPSHOT_CHUNK_SIZE;
 
     private long electionTimeoutFactor = 2;
+    private long candidateElectionTimeoutDivisor = 1;
     private String customRaftPolicyImplementationClass;
 
     private PeerAddressResolver peerAddressResolver = NoopPeerAddressResolver.INSTANCE;
@@ -106,6 +107,10 @@ public class DefaultConfigParamsImpl implements ConfigParams {
         electionTimeOutInterval = null;
     }
 
+    public void setCandidateElectionTimeoutDivisor(final long candidateElectionTimeoutDivisor) {
+        this.candidateElectionTimeoutDivisor = candidateElectionTimeoutDivisor;
+    }
+
     public void setTempFileDirectory(final String tempFileDirectory) {
         this.tempFileDirectory = tempFileDirectory;
     }
@@ -133,7 +138,6 @@ public class DefaultConfigParamsImpl implements ConfigParams {
         return snapshotDataThresholdPercentage;
     }
 
-
     @Override
     public FiniteDuration getHeartBeatInterval() {
         return heartBeatInterval;
@@ -148,6 +152,11 @@ public class DefaultConfigParamsImpl implements ConfigParams {
         return electionTimeOutInterval;
     }
 
+    @Override
+    public long getCandidateElectionTimeoutDivisor() {
+        return candidateElectionTimeoutDivisor;
+    }
+
     @Override
     public int getElectionTimeVariance() {
         return ELECTION_TIME_MAX_VARIANCE;