diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java index cd9467dd..304b86b8 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/typescript/GenerateTsUtils.java @@ -206,7 +206,6 @@ public abstract class GenerateTsUtils { var fieldRegistration = fieldRegistrations[i]; if (field.isAnnotationPresent(Compatible.class)) { - tsBuilder.append(TAB + TAB).append("if (length !== -1 && buffer.getReadOffset() - beforeReadIndex < length) {").append(LS); tsBuilder.append(TAB + TAB).append("if (buffer.compatibleRead(beforeReadIndex, length)) {").append(LS); var compatibleReadObject = tsSerializer(fieldRegistration.serializer()).readObject(tsBuilder, 3, field, fieldRegistration); tsBuilder.append(TAB + TAB+ TAB).append(StringUtils.format("packet.{} = {};", field.getName(), compatibleReadObject)).append(LS); diff --git a/protocol/src/test/typescript/zfoo/packet/ComplexObject.ts b/protocol/src/test/typescript/zfoo/packet/ComplexObject.ts index f74989cb..dcd5a15d 100644 --- a/protocol/src/test/typescript/zfoo/packet/ComplexObject.ts +++ b/protocol/src/test/typescript/zfoo/packet/ComplexObject.ts @@ -69,7 +69,7 @@ class ComplexObject { return; } const beforeWriteIndex = buffer.getWriteOffset(); - buffer.writeInt(1); + buffer.writeInt(36962); buffer.writeByte(packet.a); buffer.writeByte(packet.aa); buffer.writeByteArray(packet.aaa); @@ -234,7 +234,7 @@ class ComplexObject { } buffer.writeInt(packet.myCompatible); buffer.writePacket(packet.myObject, 102); - buffer.adjustPadding(1, beforeWriteIndex); + buffer.adjustPadding(36962, beforeWriteIndex); } static read(buffer: any): ComplexObject | null { @@ -242,7 +242,7 @@ class ComplexObject { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new ComplexObject(); const result19 = buffer.readByte(); packet.a = result19; @@ -453,16 +453,16 @@ class ComplexObject { } } packet.sssss = result113; - if (length !== -1 && buffer.getReadOffset() - readIndex < length) { + if (buffer.compatibleRead(beforeReadIndex, length)) { const result117 = buffer.readInt(); packet.myCompatible = result117; } - if (length !== -1 && buffer.getReadOffset() - readIndex < length) { + if (buffer.compatibleRead(beforeReadIndex, length)) { const result118 = buffer.readPacket(102); packet.myObject = result118; } if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; } diff --git a/protocol/src/test/typescript/zfoo/packet/EmptyObject.ts b/protocol/src/test/typescript/zfoo/packet/EmptyObject.ts index 3f9cc1b8..b5931124 100644 --- a/protocol/src/test/typescript/zfoo/packet/EmptyObject.ts +++ b/protocol/src/test/typescript/zfoo/packet/EmptyObject.ts @@ -23,11 +23,11 @@ class EmptyObject { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new EmptyObject(); if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; } diff --git a/protocol/src/test/typescript/zfoo/packet/NormalObject.ts b/protocol/src/test/typescript/zfoo/packet/NormalObject.ts index 41da2b02..8980c1c5 100644 --- a/protocol/src/test/typescript/zfoo/packet/NormalObject.ts +++ b/protocol/src/test/typescript/zfoo/packet/NormalObject.ts @@ -36,7 +36,7 @@ class NormalObject { return; } const beforeWriteIndex = buffer.getWriteOffset(); - buffer.writeInt(1); + buffer.writeInt(857); buffer.writeByte(packet.a); buffer.writeByteArray(packet.aaa); buffer.writeShort(packet.b); @@ -57,7 +57,7 @@ class NormalObject { buffer.writeStringSet(packet.ssss); buffer.writeInt(packet.outCompatibleValue); buffer.writeInt(packet.outCompatibleValue2); - buffer.adjustPadding(1, beforeWriteIndex); + buffer.adjustPadding(857, beforeWriteIndex); } static read(buffer: any): NormalObject | null { @@ -65,7 +65,7 @@ class NormalObject { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new NormalObject(); const result0 = buffer.readByte(); packet.a = result0; @@ -103,16 +103,16 @@ class NormalObject { packet.s = set16; const set17 = buffer.readStringSet(); packet.ssss = set17; - if (length !== -1 && buffer.getReadOffset() - readIndex < length) { + if (buffer.compatibleRead(beforeReadIndex, length)) { const result18 = buffer.readInt(); packet.outCompatibleValue = result18; } - if (length !== -1 && buffer.getReadOffset() - readIndex < length) { + if (buffer.compatibleRead(beforeReadIndex, length)) { const result19 = buffer.readInt(); packet.outCompatibleValue2 = result19; } if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; } diff --git a/protocol/src/test/typescript/zfoo/packet/ObjectA.ts b/protocol/src/test/typescript/zfoo/packet/ObjectA.ts index 45cf6faf..30efe545 100644 --- a/protocol/src/test/typescript/zfoo/packet/ObjectA.ts +++ b/protocol/src/test/typescript/zfoo/packet/ObjectA.ts @@ -6,7 +6,6 @@ class ObjectA { a: number = 0; m: Map = new Map(); objectB: ObjectB | null = null; - innerCompatibleValue: number = 0; static PROTOCOL_ID: number = 102; @@ -19,13 +18,10 @@ class ObjectA { buffer.writeInt(0); return; } - const beforeWriteIndex = buffer.getWriteOffset(); - buffer.writeInt(1); + buffer.writeInt(-1); buffer.writeInt(packet.a); buffer.writeIntStringMap(packet.m); buffer.writePacket(packet.objectB, 103); - buffer.writeInt(packet.innerCompatibleValue); - buffer.adjustPadding(1, beforeWriteIndex); } static read(buffer: any): ObjectA | null { @@ -33,7 +29,7 @@ class ObjectA { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new ObjectA(); const result0 = buffer.readInt(); packet.a = result0; @@ -41,12 +37,8 @@ class ObjectA { packet.m = map1; const result2 = buffer.readPacket(103); packet.objectB = result2; - if (length !== -1 && buffer.getReadOffset() - readIndex < length) { - const result3 = buffer.readInt(); - packet.innerCompatibleValue = result3; - } if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; } diff --git a/protocol/src/test/typescript/zfoo/packet/ObjectB.ts b/protocol/src/test/typescript/zfoo/packet/ObjectB.ts index ff02dd27..12170816 100644 --- a/protocol/src/test/typescript/zfoo/packet/ObjectB.ts +++ b/protocol/src/test/typescript/zfoo/packet/ObjectB.ts @@ -3,7 +3,6 @@ class ObjectB { flag: boolean = false; - innerCompatibleValue: number = 0; static PROTOCOL_ID: number = 103; @@ -16,11 +15,8 @@ class ObjectB { buffer.writeInt(0); return; } - const beforeWriteIndex = buffer.getWriteOffset(); - buffer.writeInt(1); + buffer.writeInt(-1); buffer.writeBoolean(packet.flag); - buffer.writeInt(packet.innerCompatibleValue); - buffer.adjustPadding(1, beforeWriteIndex); } static read(buffer: any): ObjectB | null { @@ -28,16 +24,12 @@ class ObjectB { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new ObjectB(); const result0 = buffer.readBoolean(); packet.flag = result0; - if (length !== -1 && buffer.getReadOffset() - readIndex < length) { - const result1 = buffer.readInt(); - packet.innerCompatibleValue = result1; - } if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; } diff --git a/protocol/src/test/typescript/zfoo/packet/SimpleObject.ts b/protocol/src/test/typescript/zfoo/packet/SimpleObject.ts index 5d57ddbd..d96fd70e 100644 --- a/protocol/src/test/typescript/zfoo/packet/SimpleObject.ts +++ b/protocol/src/test/typescript/zfoo/packet/SimpleObject.ts @@ -26,14 +26,14 @@ class SimpleObject { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new SimpleObject(); const result0 = buffer.readInt(); packet.c = result0; const result1 = buffer.readBoolean(); packet.g = result1; if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; } diff --git a/protocol/src/test/typescript/zfoo/packet/VeryBigObject.ts b/protocol/src/test/typescript/zfoo/packet/VeryBigObject.ts index 87cfa5d1..ccb66f03 100644 --- a/protocol/src/test/typescript/zfoo/packet/VeryBigObject.ts +++ b/protocol/src/test/typescript/zfoo/packet/VeryBigObject.ts @@ -6711,7 +6711,7 @@ class VeryBigObject { if (length === 0) { return null; } - const readIndex = buffer.getReadOffset(); + const beforeReadIndex = buffer.getReadOffset(); const packet = new VeryBigObject(); const result0 = buffer.readByte(); packet.a1 = result0; @@ -13402,7 +13402,7 @@ class VeryBigObject { const set3343 = buffer.readStringSet(); packet.ssss9 = set3343; if (length > 0) { - buffer.setReadOffset(readIndex + length); + buffer.setReadOffset(beforeReadIndex + length); } return packet; }