From 034f4ac0a5d678f98a96b49a7ce625049d84f586 Mon Sep 17 00:00:00 2001 From: godotg Date: Sun, 15 Oct 2023 23:15:11 +0800 Subject: [PATCH] perf[golang]: compatible field of inside protocol class --- .../java/com/zfoo/protocol/serializer/go/GenerateGoUtils.java | 2 +- protocol/src/main/resources/go/ByteBuffer.go | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/go/GenerateGoUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/go/GenerateGoUtils.java index fd2d2f6c..42c2e07d 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/go/GenerateGoUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/go/GenerateGoUtils.java @@ -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; } diff --git a/protocol/src/main/resources/go/ByteBuffer.go b/protocol/src/main/resources/go/ByteBuffer.go index 0e6e1284..b3be52d7 100644 --- a/protocol/src/main/resources/go/ByteBuffer.go +++ b/protocol/src/main/resources/go/ByteBuffer.go @@ -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)