+ // 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) {
+ @Override
+ public NormalizedNodeStreamVersion getStreamVersion() {
+ return NormalizedNodeStreamVersion.NEON_SR2;
+ }
+ },
+
+ /**
+ * 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;
+ }
+ },