X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fpersisted%2FPayloadVersion.java;h=eb94a70bf54ea7330aff5e3242ff20089eb3c766;hb=abaef4a5ae37f27542155457fe7306a4662b1eeb;hp=819ede782592945c446feed9eadbe2df32c77b21;hpb=23fa5a5c2a0748e12b5a704f2dc2ed3bc7169a58;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java index 819ede7825..eb94a70bf5 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java @@ -15,8 +15,8 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeStreamVersion; import org.opendaylight.yangtools.concepts.WritableObject; +import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion; /** * Enumeration of all ABI versions supported by this implementation of persistence. An ABI version has to be bumped @@ -71,6 +71,28 @@ public enum PayloadVersion implements WritableObject { } }, + /** + * Revised payload version. Payloads remain the same as {@link #NEON_SR2}, but messages bearing QNames in any shape + * are using {@link NormalizedNodeStreamVersion#SODIUM_SR1}, which improves encoding. + */ + SODIUM_SR1(7) { + @Override + public NormalizedNodeStreamVersion getStreamVersion() { + return NormalizedNodeStreamVersion.SODIUM_SR1; + } + }, + + /** + * Revised payload version. Payloads remain the same as {@link #SODIUM_SR1}, but messages bearing QNames in any + * shape are using {@link NormalizedNodeStreamVersion#MAGNESIUM}, which improves encoding. + */ + MAGNESIUM(8) { + @Override + public NormalizedNodeStreamVersion getStreamVersion() { + return NormalizedNodeStreamVersion.MAGNESIUM; + } + }, + /** * Version which is newer than any other version. This version exists purely for testing purposes. */ @@ -112,7 +134,7 @@ public enum PayloadVersion implements WritableObject { * @return Current {@link PayloadVersion} */ public static @NonNull PayloadVersion current() { - return NEON_SR2; + return MAGNESIUM; } /** @@ -137,8 +159,12 @@ public enum PayloadVersion implements WritableObject { return BORON; case 6: return NEON_SR2; + case 7: + return SODIUM_SR1; + case 8: + return MAGNESIUM; default: - throw new FutureVersionException(version, NEON_SR2); + throw new FutureVersionException(version, MAGNESIUM); } }