*/
package org.opendaylight.controller.cluster.raft;
+import javax.annotation.Nonnull;
+import org.opendaylight.controller.cluster.raft.policy.RaftPolicy;
import scala.concurrent.duration.FiniteDuration;
/**
*/
long getSnapshotBatchCount();
+ /**
+ * The percentage of total memory in the in-memory Raft log before a snapshot
+ * is to be taken
+ *
+ * @return int
+ */
+ int getSnapshotDataThresholdPercentage();
+
/**
* The interval at which a heart beat message will be sent to the remote
* RaftActor
* The interval in which the leader needs to check itself if its isolated
* @return FiniteDuration
*/
- FiniteDuration getIsolatedCheckInterval();
+ long getIsolatedCheckIntervalInMillis();
+
+
+ /**
+ * The multiplication factor to be used to determine shard election timeout. The election timeout
+ * is determined by multiplying the election timeout factor with the heartbeat duration.
+ */
+ long getElectionTimeoutFactor();
+
+
+ /**
+ *
+ * @return An instance of org.opendaylight.controller.cluster.raft.policy.RaftPolicy or an instance of the
+ * DefaultRaftPolicy
+ */
+ RaftPolicy getRaftPolicy();
+
+ /**
+ * Returns the PeerAddressResolver.
+ */
+ @Nonnull PeerAddressResolver getPeerAddressResolver();
+
+ /**
+ * @return the RaftPolicy class used by this configuration
+ */
+ String getCustomRaftPolicyImplementationClass();
+
}