Add an option to trigger snapshot creation on root overwrites
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / base / messages / CaptureSnapshot.java
index b06f8f295ef6598200d840c988acd0842f7c3e5d..0fd48edf811923d5d96f7f2cb301a193f0da01a8 100644 (file)
@@ -21,10 +21,11 @@ public class CaptureSnapshot implements ControlMessage {
     private final long replicatedToAllIndex;
     private final long replicatedToAllTerm;
     private final List<ReplicatedLogEntry> unAppliedEntries;
+    private final boolean mandatoryTrim;
 
     public CaptureSnapshot(long lastIndex, long lastTerm, long lastAppliedIndex,
             long lastAppliedTerm, long replicatedToAllIndex, long replicatedToAllTerm,
-            List<ReplicatedLogEntry> unAppliedEntries) {
+            List<ReplicatedLogEntry> unAppliedEntries, boolean mandatoryTrim) {
         this.lastIndex = lastIndex;
         this.lastTerm = lastTerm;
         this.lastAppliedIndex = lastAppliedIndex;
@@ -33,6 +34,7 @@ public class CaptureSnapshot implements ControlMessage {
         this.replicatedToAllTerm = replicatedToAllTerm;
         this.unAppliedEntries = unAppliedEntries != null ? unAppliedEntries :
             Collections.<ReplicatedLogEntry>emptyList();
+        this.mandatoryTrim = mandatoryTrim;
     }
 
     public long getLastAppliedIndex() {
@@ -63,6 +65,10 @@ public class CaptureSnapshot implements ControlMessage {
         return unAppliedEntries;
     }
 
+    public boolean isMandatoryTrim() {
+        return mandatoryTrim;
+    }
+
     @Override
     public String toString() {
         return "CaptureSnapshot [lastAppliedIndex=" + lastAppliedIndex
@@ -72,7 +78,8 @@ public class CaptureSnapshot implements ControlMessage {
                 + ", installSnapshotInitiated="
                 + ", replicatedToAllIndex=" + replicatedToAllIndex
                 + ", replicatedToAllTerm=" + replicatedToAllTerm
-                + ", unAppliedEntries size=" + unAppliedEntries.size() + "]";
+                + ", unAppliedEntries size=" + unAppliedEntries.size()
+                + ", mandatoryTrim=" + mandatoryTrim + "]";
     }