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
},
/**
- * Initial ABI version, as shipped with Boron Simultaneous release.
+ * ABI version as shipped in Sodium SR1 Simultaneous Release. QName-bearing messages are using
+ * {@link NormalizedNodeStreamVersion#SODIUM_SR1}, which improves encoding.
*/
- // We seed the initial version to be the same as DataStoreVersions.BORON_VERSION for compatibility reasons.
- BORON(5) {
- @Override
- public NormalizedNodeStreamVersion getStreamVersion() {
- return NormalizedNodeStreamVersion.LITHIUM;
- }
- },
-
- /**
- * Revised payload version. Payloads remain the same as {@link #BORON}, but messages bearing QNames in any shape
- * are using {@link NormalizedNodeStreamVersion#NEON_SR2}, which improves encoding.
- */
- NEON_SR2(6) {
+ SODIUM_SR1(7) {
@Override
public NormalizedNodeStreamVersion getStreamVersion() {
- return NormalizedNodeStreamVersion.NEON_SR2;
+ return NormalizedNodeStreamVersion.SODIUM_SR1;
}
},
/**
- * 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.
+ * 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.
*/
- SODIUM_SR1(7) {
+ MAGNESIUM(8) {
@Override
public NormalizedNodeStreamVersion getStreamVersion() {
- return NormalizedNodeStreamVersion.SODIUM_SR1;
+ return NormalizedNodeStreamVersion.MAGNESIUM;
}
},
* @return Current {@link PayloadVersion}
*/
public static @NonNull PayloadVersion current() {
- return NEON_SR2;
+ return MAGNESIUM;
}
/**
case 2:
case 3:
case 4:
- throw new PastVersionException(version, BORON);
case 5:
- return BORON;
case 6:
- return NEON_SR2;
+ throw new PastVersionException(version, SODIUM_SR1);
case 7:
return SODIUM_SR1;
+ case 8:
+ return MAGNESIUM;
default:
- throw new FutureVersionException(version, SODIUM_SR1);
+ throw new FutureVersionException(version, MAGNESIUM);
}
}
try {
return valueOf(s);
} catch (FutureVersionException | PastVersionException e) {
- throw new IOException("Unsupported version", e);
+ throw new IOException(e);
}
}
}