*/
package org.opendaylight.controller.cluster.raft.client.messages;
+import com.google.common.collect.ImmutableMap;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
- * The response to a GetOnDemandRaftState message,
+ * The response to a GetOnDemandRaftState message.
*
* @author Thomas Pantelis
*/
private String raftState;
private String votedFor;
private boolean isSnapshotCaptureInitiated;
+ private String customRaftPolicyClassName;
+ private boolean isVoting;
private List<FollowerInfo> followerInfoList = Collections.emptyList();
private Map<String, String> peerAddresses = Collections.emptyMap();
+ private Map<String, Boolean> peerVotingStates = Collections.emptyMap();
private OnDemandRaftState() {
}
return isSnapshotCaptureInitiated;
}
+ public boolean isVoting() {
+ return isVoting;
+ }
+
public List<FollowerInfo> getFollowerInfoList() {
return followerInfoList;
}
return peerAddresses;
}
+ public Map<String, Boolean> getPeerVotingStates() {
+ return peerVotingStates;
+ }
+
+ public String getCustomRaftPolicyClassName() {
+ return customRaftPolicyClassName;
+ }
+
public static class Builder {
private final OnDemandRaftState stats = new OnDemandRaftState();
return this;
}
+ public Builder isVoting(boolean isVoting) {
+ stats.isVoting = isVoting;
+ return this;
+ }
+
public Builder followerInfoList(List<FollowerInfo> followerInfoList) {
stats.followerInfoList = followerInfoList;
return this;
return this;
}
+ public Builder peerVotingStates(Map<String, Boolean> peerVotingStates) {
+ stats.peerVotingStates = ImmutableMap.copyOf(peerVotingStates);
+ return this;
+ }
+
public Builder isSnapshotCaptureInitiated(boolean value) {
stats.isSnapshotCaptureInitiated = value;
return this;
}
+ public Builder customRaftPolicyClassName(String className) {
+ stats.customRaftPolicyClassName = className;
+ return this;
+ }
+
public OnDemandRaftState build() {
return stats;
}