// responding
private final String followerId;
- public AppendEntriesReply(String followerId, long term, boolean success, long logLastIndex, long logLastTerm) {
+ private final short payloadVersion;
+
+ private final boolean forceInstallSnapshot;
+
+ public AppendEntriesReply(String followerId, long term, boolean success, long logLastIndex, long logLastTerm,
+ short payloadVersion) {
+ this(followerId, term, success, logLastIndex, logLastTerm, payloadVersion, false);
+ }
+
+ public AppendEntriesReply(String followerId, long term, boolean success, long logLastIndex, long logLastTerm,
+ short payloadVersion, boolean forceInstallSnapshot) {
super(term);
this.followerId = followerId;
this.success = success;
this.logLastIndex = logLastIndex;
this.logLastTerm = logLastTerm;
+ this.payloadVersion = payloadVersion;
+ this.forceInstallSnapshot = forceInstallSnapshot;
}
+
@Override
public long getTerm() {
return term;
return followerId;
}
- @Override public String toString() {
- final StringBuilder sb =
- new StringBuilder("AppendEntriesReply{");
- sb.append("term=").append(term);
- sb.append(", success=").append(success);
- sb.append(", logLastIndex=").append(logLastIndex);
- sb.append(", logLastTerm=").append(logLastTerm);
- sb.append(", followerId='").append(followerId).append('\'');
- sb.append('}');
- return sb.toString();
+ public short getPayloadVersion() {
+ return payloadVersion;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("AppendEntriesReply [success=").append(success).append(", logLastIndex=").append(logLastIndex)
+ .append(", logLastTerm=").append(logLastTerm).append(", followerId=").append(followerId)
+ .append(", payloadVersion=").append(", forceInstallSnapshot=").append(forceInstallSnapshot)
+ .append(payloadVersion).append("]");
+ return builder.toString();
+ }
+
+ public boolean isForceInstallSnapshot() {
+ return forceInstallSnapshot;
}
}