This adds the PayloadVersion which uses Sodium SR1 normalized node
stream.
JIRA: CONTROLLER-1919
Change-Id: I3dfa6ea053ea356bb68b458f3d6787904b2904c0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
case BORON:
return new ShardSnapshotState(readSnapshot(in), true);
case NEON_SR2:
+ case SODIUM_SR1:
return new ShardSnapshotState(readSnapshot(in), false);
case TEST_FUTURE_VERSION:
case TEST_PAST_VERSION:
switch (version) {
case BORON:
case NEON_SR2:
- // Boron and Sodium snapshots use Java Serialization, but differ in stream format
+ case SODIUM_SR1:
+ // Boron, NeonSR2 and Sodium snapshots use Java Serialization, but differ in stream format
out.writeObject(this);
return;
case TEST_FUTURE_VERSION:
}
},
+ /**
+ * 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;
+ }
+ },
+
/**
* Version which is newer than any other version. This version exists purely for testing purposes.
*/
return BORON;
case 6:
return NEON_SR2;
+ case 7:
+ return SODIUM_SR1;
default:
- throw new FutureVersionException(version, NEON_SR2);
+ throw new FutureVersionException(version, SODIUM_SR1);
}
}