X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fpersisted%2FNoopPayload.java;h=f1a3a3b923cab4bd370511316663ce74e20d402e;hb=8f7f6ed83f1ab21aa9ba1fb2f4f9fbad3a9bfa56;hp=e190bf0919828714047ddbab275858acf5bb6ad3;hpb=86e8e4a06b682aa772c834a2cef56d0596540e1b;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 e190bf0919..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,25 +19,33 @@ 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() { return INSTANCE; } } + @java.io.Serial private static final long serialVersionUID = 1L; - private static final Proxy PROXY = new Proxy(); + 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 @@ -50,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; } }