X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fpersisted%2FSimpleReplicatedLogEntry.java;h=14ce5420d26081c06eed9a442e3dd39287c1c730;hb=refs%2Fchanges%2F09%2F83009%2F6;hp=5edd2ed5358dd19a7137d522cdbb67a6989c5717;hpb=fe8352361d49c76a0ecc80162a2b8258d35198b5;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/SimpleReplicatedLogEntry.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/SimpleReplicatedLogEntry.java index 5edd2ed535..14ce5420d2 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/SimpleReplicatedLogEntry.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/SimpleReplicatedLogEntry.java @@ -13,6 +13,7 @@ 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(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. @@ -77,13 +75,10 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra * @param term the term * @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); + public SimpleReplicatedLogEntry(long index, long term, Payload payload) { + this.index = index; + this.term = term; + this.payload = Preconditions.checkNotNull(payload); } @Override @@ -116,14 +111,12 @@ public final class SimpleReplicatedLogEntry implements ReplicatedLogEntry, Migra 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