From 116069847853a7b1d4f49d5e103742eed6c963a6 Mon Sep 17 00:00:00 2001 From: Stephan Zehetner Date: Thu, 30 Apr 2020 16:31:23 +0200 Subject: [PATCH 1/4] add field offset --- .../real_logic/sbe/generation/csharp/CSharpGenerator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java index c4268cf912..79e9143d8e 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java @@ -1087,7 +1087,7 @@ private CharSequence generateFields(final List tokens, final String inden final Token encodingToken = tokens.get(i + 1); final String propertyName = signalToken.name(); - generateFieldIdMethod(sb, signalToken, indent + INDENT); + generateFieldIdMethod(sb, signalToken, indent + INDENT); generateFieldMetaAttributeMethod(sb, signalToken, indent + INDENT); switch (encodingToken.signal()) @@ -1122,6 +1122,11 @@ private void generateFieldIdMethod(final StringBuilder sb, final Token token, fi token.id())); generateSinceActingDeprecated(sb, indent, CSharpUtil.formatPropertyName(token.name()), token); + + sb.append(String.format("\n" + + indent + "public const int %sOffset = %d;\n", + CSharpUtil.formatPropertyName(token.name()), + token.offset())); } private void generateFieldMetaAttributeMethod(final StringBuilder sb, final Token token, final String indent) From afb8ea9aa309f71da1aca02dfde56cb0b614ad36 Mon Sep 17 00:00:00 2001 From: Stephan Zehetner Date: Mon, 4 May 2020 11:15:08 +0200 Subject: [PATCH 2/4] added WrapForEncodeAndApplyHeader method --- .../sbe/generation/csharp/CSharpGenerator.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java index 79e9143d8e..331d833160 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java @@ -1035,6 +1035,16 @@ private CharSequence generateMessageFlyweightCode(final String className, final indent + INDENT + INDENT + "_actingVersion = SchemaVersion;\n" + indent + INDENT + INDENT + "Limit = offset + _actingBlockLength;\n" + indent + INDENT + "}\n\n" + + indent + INDENT + "public void WrapForEncodeAndApplyHeader(DirectBuffer buffer, int offset, MessageHeader headerEncoder)\n" + + indent + INDENT + "{\n" + + indent + INDENT + INDENT + "headerEncoder.Wrap(buffer, offset, SchemaVersion);\n" + + indent + INDENT + INDENT + "headerEncoder.BlockLength = BlockLength;\n" + + indent + INDENT + INDENT + "headerEncoder.TemplateId = TemplateId;\n" + + indent + INDENT + INDENT + "headerEncoder.SchemaId = SchemaId;\n" + + indent + INDENT + INDENT + "headerEncoder.Version = SchemaVersion;\n" + + indent + INDENT + INDENT + "\n" + + indent + INDENT + INDENT + "WrapForEncode(buffer, offset + MessageHeader.Size);\n" + + indent + INDENT + "}\n\n" + indent + INDENT + "public void WrapForDecode(DirectBuffer buffer, int offset, " + "int actingBlockLength, int actingVersion)\n" + indent + INDENT + "{\n" + From 2a9c41a926b38a53cd623b3de7276ea2ff22803f Mon Sep 17 00:00:00 2001 From: Stephan Zehetner Date: Mon, 4 May 2020 11:20:13 +0200 Subject: [PATCH 3/4] undo whitespaces --- .../uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java index 331d833160..adf9a445b9 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java @@ -1097,7 +1097,7 @@ private CharSequence generateFields(final List tokens, final String inden final Token encodingToken = tokens.get(i + 1); final String propertyName = signalToken.name(); - generateFieldIdMethod(sb, signalToken, indent + INDENT); + generateFieldIdMethod(sb, signalToken, indent + INDENT); generateFieldMetaAttributeMethod(sb, signalToken, indent + INDENT); switch (encodingToken.signal()) From 232b6272eac0b291cbeb8496f536de2798b743ee Mon Sep 17 00:00:00 2001 From: Stephan Zehetner Date: Mon, 4 May 2020 11:47:53 +0200 Subject: [PATCH 4/4] fixed long line checkstyle violation --- .../co/real_logic/sbe/generation/csharp/CSharpGenerator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java index adf9a445b9..85c6c71280 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java @@ -1035,7 +1035,8 @@ private CharSequence generateMessageFlyweightCode(final String className, final indent + INDENT + INDENT + "_actingVersion = SchemaVersion;\n" + indent + INDENT + INDENT + "Limit = offset + _actingBlockLength;\n" + indent + INDENT + "}\n\n" + - indent + INDENT + "public void WrapForEncodeAndApplyHeader(DirectBuffer buffer, int offset, MessageHeader headerEncoder)\n" + + indent + INDENT + "public void WrapForEncodeAndApplyHeader(DirectBuffer buffer, int offset, " + + " MessageHeader headerEncoder)\n" + indent + INDENT + "{\n" + indent + INDENT + INDENT + "headerEncoder.Wrap(buffer, offset, SchemaVersion);\n" + indent + INDENT + INDENT + "headerEncoder.BlockLength = BlockLength;\n" +