2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-10-29 23:21:36 +00:00

TypedListParser

This commit is contained in:
2025-10-12 14:59:31 +03:00
parent d4a371a8c9
commit 4967449a57
4 changed files with 128 additions and 102 deletions

View File

@@ -42,7 +42,7 @@ public static class Codec
//delegate AsyncReply AsyncParser(byte[] data, uint offset, uint length, DistributedConnection connection, uint[] requestSequence);
delegate object AsyncParser(byte[] data, uint offset, uint length, DistributedConnection connection, uint[] requestSequence);
delegate object SyncParser(byte[] data, uint offset, uint length, Warehouse warehouse);
delegate object SyncParser(ParsedTDU tdu, Warehouse warehouse);
static AsyncParser[][] FixedAsyncParsers = new AsyncParser[][]
{
@@ -236,15 +236,15 @@ public static class Codec
if (tt.Class == TDUClass.Fixed)
{
return (len, FixedParsers[tt.Exponent][tt.Index](data, dataType.Value.Offset, (uint)tt.ContentLength, warehouse));
return (len, FixedParsers[tt.Exponent][tt.Index](tt, warehouse));
}
else if (tt.Class == TDUClass.Dynamic)
{
return (len, DynamicParsers[tt.Index](data, dataType.Value.Offset, (uint)tt.ContentLength, warehouse));
return (len, DynamicParsers[tt.Index](tt, warehouse));
}
else //if (tt.Class == TransmissionDataUnitClass.Typed)
{
return (len, TypedParsers[tt.Index](data, dataType.Value.Offset, (uint)tt.ContentLength, warehouse));
return (len, TypedParsers[tt.Index](tt, warehouse));
}
}
/// <summary>