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%2FNoopPayload.java;h=f1a3a3b923cab4bd370511316663ce74e20d402e;hb=8f7f6ed83f1ab21aa9ba1fb2f4f9fbad3a9bfa56;hp=1fa865948a3b3fcad6f0efa0d2bf9c30acf17a89;hpb=8874f15140aa20aa205b5469e02f319076d53860;p=controller.git diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/NoopPayload.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/NoopPayload.java index 1fa865948a..f1a3a3b923 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/NoopPayload.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/persisted/NoopPayload.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.cluster.raft.persisted; import akka.dispatch.ControlMessage; import java.io.Serializable; import org.apache.commons.lang3.SerializationUtils; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.raft.messages.Payload; /** @@ -18,14 +19,14 @@ import org.opendaylight.controller.cluster.raft.messages.Payload; * * @author Thomas Pantelis */ -public final class NoopPayload extends Payload implements ControlMessage { - public static final NoopPayload INSTANCE = new NoopPayload(); - +// FIXME: do not implement MigratedSerializable once Proxy is gone +public final class NoopPayload extends Payload implements ControlMessage, MigratedSerializable { // There is no need for Externalizable @Deprecated(since = "7.0.0", forRemoval = true) private static final class Proxy implements Serializable { @java.io.Serial private static final long serialVersionUID = 1L; + private static final @NonNull NoopPayload INSTANCE = new NoopPayload(true); @java.io.Serial private Object readResolve() { @@ -35,12 +36,16 @@ public final class NoopPayload extends Payload implements ControlMessage { @java.io.Serial private static final long serialVersionUID = 1L; - private static final NP PROXY = new NP(); + private static final @NonNull NP PROXY = new NP(); // Estimate to how big the proxy is. Note this includes object stream overhead, so it is a bit conservative private static final int PROXY_SIZE = SerializationUtils.serialize(PROXY).length; - private NoopPayload() { - // Hidden on purpose + public static final @NonNull NoopPayload INSTANCE = new NoopPayload(false); + + private final boolean migrated; + + private NoopPayload(final boolean migrated) { + this.migrated = migrated; } @Override @@ -54,7 +59,13 @@ public final class NoopPayload extends Payload implements ControlMessage { } @Override - protected Object writeReplace() { + public boolean isMigrated() { + return migrated; + } + + // FIXME: protected once not MigratedSerializable + @Override + public Object writeReplace() { return PROXY; } }