+ /**
+ *
+ * @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();
+
+ /**
+ * @return true if there are any dynamic server configuration changes available,
+ * false if static peer configurations are still in use
+ */
+ boolean isDynamicServerConfigurationInUse();
+
+ /**
+ * Configures the dynamic server configurations are avaialble for the RaftActor
+ */
+ void setDynamicServerConfigurationInUse();
+
+ /**
+ * @return the RaftActor's peer information as a ServerConfigurationPayload if the
+ * dynamic server configurations are available, otherwise returns null
+ */
+ @Nullable ServerConfigurationPayload getPeerServerInfo(boolean includeSelf);
+
+ /**
+ * @return true if this RaftActor is a voting member of the cluster, false otherwise.
+ */
+ boolean isVotingMember();