+ /**
+ *
+ * @return the SnapshotManager for this RaftActor
+ */
+ SnapshotManager getSnapshotManager();
+
+ /**
+ *
+ * @return the DataPersistenceProvider for this RaftActor
+ */
+ DataPersistenceProvider getPersistenceProvider();
+
+ /**
+ *
+ * @return true if the RaftActor has followers else false
+ */
+ boolean hasFollowers();
+
+ /**
+ *
+ * @return the total memory used by the ReplicatedLog
+ */
+ long getTotalMemory();
+
+ /**
+ *
+ * @param retriever a supplier of the total memory metric
+ */
+ @VisibleForTesting
+ void setTotalMemoryRetriever(Supplier<Long> retriever);
+
+ /**
+ *
+ * @return the payload version to be used when replicating data
+ */
+ short getPayloadVersion();
+
+ /**
+ * @return an implementation of the RaftPolicy so that the Raft code can be adapted
+ */
+ RaftPolicy getRaftPolicy();