BUG 2817 - Basic implementation of RemoveServer in the Raft code
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / messages / AppendEntriesReply.java
index 32ed85b281fee0feb4b0533c0b72cb5ade40093a..521a4512c7e49beef57ca56d2ac9f41e0d10a914 100644 (file)
@@ -29,15 +29,28 @@ public class AppendEntriesReply extends AbstractRaftRPC {
     // 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;
@@ -59,15 +72,21 @@ public class AppendEntriesReply extends AbstractRaftRPC {
         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;
     }
 }