Skip to content

Commit 2f699f6

Browse files
committed
[Java] Add SchemaId and SchemaVersion to fix flyweight codecs for C#.
1 parent 93f0f1d commit 2f699f6

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/csharp/CSharpGenerator.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1029,17 +1029,28 @@ private CharSequence generateByteLiteralList(final byte[] bytes)
10291029

10301030
private CharSequence generateFixedFlyweightCode(final int size)
10311031
{
1032+
final String schemaIdType = cSharpTypeName(ir.headerStructure().schemaIdType());
1033+
final String schemaVersionType = cSharpTypeName(ir.headerStructure().schemaVersionType());
1034+
10321035
return String.format(
1036+
INDENT + INDENT + "public const %1$s SchemaId = %2$s;\n" +
1037+
INDENT + INDENT + "public const %3$s SchemaVersion = %4$s;\n" +
1038+
INDENT + INDENT + "public const int Size = %5$d;\n\n",
1039+
10331040
INDENT + INDENT + "private DirectBuffer _buffer;\n" +
10341041
INDENT + INDENT + "private int _offset;\n" +
10351042
INDENT + INDENT + "private int _actingVersion;\n\n" +
1043+
10361044
INDENT + INDENT + "public void Wrap(DirectBuffer buffer, int offset, int actingVersion)\n" +
10371045
INDENT + INDENT + "{\n" +
10381046
INDENT + INDENT + INDENT + "_offset = offset;\n" +
10391047
INDENT + INDENT + INDENT + "_actingVersion = actingVersion;\n" +
10401048
INDENT + INDENT + INDENT + "_buffer = buffer;\n" +
10411049
INDENT + INDENT + "}\n\n" +
1042-
INDENT + INDENT + "public const int Size = %d;\n",
1050+
schemaIdType,
1051+
generateLiteral(ir.headerStructure().schemaIdType(), Integer.toString(ir.id())),
1052+
schemaVersionType,
1053+
generateLiteral(ir.headerStructure().schemaVersionType(), Integer.toString(ir.version())),
10431054
size);
10441055
}
10451056

0 commit comments

Comments
 (0)