perf[golang]: compatible field of inside protocol class

This commit is contained in:
godotg
2023-10-15 23:15:11 +08:00
parent 8f9897cd40
commit 034f4ac0a5
2 changed files with 2 additions and 3 deletions
@@ -192,7 +192,7 @@ public abstract class GenerateGoUtils {
if (field.isAnnotationPresent(Compatible.class)) {
goBuilder.append(TAB ).append("if buffer.CompatibleRead(beforeReadIndex, length) {").append(LS);
var compatibleReadObject = goSerializer(fieldRegistration.serializer()).readObject(goBuilder, 2, field, fieldRegistration);
goBuilder.append(TAB + TAB).append(StringUtils.format("packet.{} = {}", field.getName(), compatibleReadObject)).append(LS);
goBuilder.append(TAB + TAB).append(StringUtils.format("packet.{} = {}", StringUtils.capitalize(field.getName()), compatibleReadObject)).append(LS);
goBuilder.append(TAB).append("}").append(LS);
continue;
}
+1 -2
View File
@@ -30,8 +30,7 @@ func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteInd
byteBuffer.WriteInt(length)
byteBuffer.SetWriteOffset(currentWriteIndex)
} else {
byteBuffer.SetWriteOffset(currentWriteIndex - length)
var byteArray = byteBuffer.ReadUBytes(length)
var byteArray = byteBuffer.buffer[(currentWriteIndex - length):currentWriteIndex]
byteBuffer.SetWriteOffset(beforeWriteIndex)
byteBuffer.WriteInt(length)
byteBuffer.WriteUBytes(byteArray)