Add a missing space
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / persisted / SimpleReplicatedLogEntry.java
index 5edd2ed5358dd19a7137d522cdbb67a6989c5717..4c07e6b812e254ad026e6d49211e4e22b97f5b6b 100644 (file)
@@ -5,14 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.controller.cluster.raft.persisted;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
+import java.io.Serializable;
 import org.opendaylight.controller.cluster.raft.ReplicatedLogEntry;
 import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
 
@@ -21,7 +22,7 @@ import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payloa
  *
  * @author Thomas Pantelis
  */
-public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, MigratedSerializable {
+public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Serializable {
     private static final class Proxy implements Externalizable {
         private static final long serialVersionUID = 1L;
 
@@ -38,6 +39,11 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra
             this.replicatedLogEntry = replicatedLogEntry;
         }
 
+        static int estimatedSerializedSize(final ReplicatedLogEntry replicatedLogEntry) {
+            return 8 /* index */ + 8 /* term */ + replicatedLogEntry.getData().size()
+                    + 400 /* estimated extra padding for class info */;
+        }
+
         @Override
         public void writeExternal(final ObjectOutput out) throws IOException {
             out.writeLong(replicatedLogEntry.getIndex());
@@ -61,14 +67,6 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra
     private final long term;
     private final Payload payload;
     private boolean persistencePending;
-    private final boolean migrated;
-
-    private SimpleReplicatedLogEntry(long index, long term, Payload payload, boolean migrated) {
-        this.index = index;
-        this.term = term;
-        this.payload = Preconditions.checkNotNull(payload);
-        this.migrated = migrated;
-    }
 
     /**
      * Constructs an instance.
@@ -78,12 +76,9 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra
      * @param payload the payload
      */
     public SimpleReplicatedLogEntry(final long index, final long term, final Payload payload) {
-        this(index, term, payload, false);
-    }
-
-    @Deprecated
-    public static ReplicatedLogEntry createMigrated(final long index, final long term, final Payload payload) {
-        return new SimpleReplicatedLogEntry(index, term, payload, true);
+        this.index = index;
+        this.term = term;
+        this.payload = requireNonNull(payload);
     }
 
     @Override
@@ -112,18 +107,16 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra
     }
 
     @Override
-    public void setPersistencePending(boolean pending) {
+    public void setPersistencePending(final boolean pending) {
         persistencePending = pending;
     }
 
-    @Override
-    public boolean isMigrated() {
-        return migrated;
+    private Object writeReplace() {
+        return new Proxy(this);
     }
 
-    @Override
-    public Object writeReplace() {
-        return new Proxy(this);
+    public int estimatedSerializedSize() {
+        return Proxy.estimatedSerializedSize(this);
     }
 
     @Override
@@ -137,7 +130,7 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra
     }
 
     @Override
-    public boolean equals(Object obj) {
+    public boolean equals(final Object obj) {
         if (this == obj) {
             return true;
         }