mirror of
https://github.com/esiur/esiur-dotnet.git
synced 2025-10-29 07:10:29 +00:00
Compose
This commit is contained in:
@@ -332,8 +332,8 @@ public static class DataSerializer
|
|||||||
if (previous != null && tdu.MatchType(previous.Value))
|
if (previous != null && tdu.MatchType(previous.Value))
|
||||||
{
|
{
|
||||||
rt.Add((byte)TDUIdentifier.NotModified);
|
rt.Add((byte)TDUIdentifier.NotModified);
|
||||||
rt.AddRange(tdu.Composed.Clip(tdu.Composed[tdu.ContentOffset],
|
rt.AddRange(tdu.Composed.Clip(tdu.ContentOffset,
|
||||||
(uint)tdu.Composed.Length - tdu.Composed[tdu.ContentOffset]));
|
(uint)tdu.Composed.Length - tdu.ContentOffset));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -459,7 +459,8 @@ public static class DataSerializer
|
|||||||
foreach (var pt in template.Properties)
|
foreach (var pt in template.Properties)
|
||||||
{
|
{
|
||||||
var propValue = pt.PropertyInfo.GetValue(record, null);
|
var propValue = pt.PropertyInfo.GetValue(record, null);
|
||||||
rt.AddRange(Codec.Compose(propValue, warehouse, connection));
|
var rr = Codec.Compose(propValue, warehouse, connection);
|
||||||
|
rt.AddRange(rr);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new TDU(TDUIdentifier.Record, rt.ToArray(),
|
return new TDU(TDUIdentifier.Record, rt.ToArray(),
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ public struct TDU
|
|||||||
}
|
}
|
||||||
else if (length <= 0xFF_FF)
|
else if (length <= 0xFF_FF)
|
||||||
{
|
{
|
||||||
var Composed = new byte[3 + length];
|
Composed = new byte[3 + length];
|
||||||
Composed[0] = (byte)((byte)Identifier | 0x10);
|
Composed[0] = (byte)((byte)Identifier | 0x10);
|
||||||
Composed[1] = (byte)((length >> 8) & 0xFF);
|
Composed[1] = (byte)((length >> 8) & 0xFF);
|
||||||
Composed[2] = (byte)(length & 0xFF);
|
Composed[2] = (byte)(length & 0xFF);
|
||||||
@@ -194,7 +194,7 @@ public struct TDU
|
|||||||
Composed[0] = (byte)((byte)Identifier | 0x8);
|
Composed[0] = (byte)((byte)Identifier | 0x8);
|
||||||
Composed[1] = (byte)len;
|
Composed[1] = (byte)len;
|
||||||
Composed[2] = metaLen;
|
Composed[2] = metaLen;
|
||||||
ContentOffset = 2;
|
ContentOffset = metaLen + (uint)3;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 3, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 3, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 3 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 3 + metaLen, (int)length);
|
||||||
@@ -206,7 +206,7 @@ public struct TDU
|
|||||||
Composed[1] = (byte)((len >> 8) & 0xFF);
|
Composed[1] = (byte)((len >> 8) & 0xFF);
|
||||||
Composed[2] = (byte)(len & 0xFF);
|
Composed[2] = (byte)(len & 0xFF);
|
||||||
Composed[3] = metaLen;
|
Composed[3] = metaLen;
|
||||||
ContentOffset = 3;
|
ContentOffset = metaLen + (uint)4;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 4, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 4, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 4 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 4 + metaLen, (int)length);
|
||||||
@@ -219,7 +219,7 @@ public struct TDU
|
|||||||
Composed[2] = (byte)((len >> 8) & 0xFF);
|
Composed[2] = (byte)((len >> 8) & 0xFF);
|
||||||
Composed[3] = (byte)(len & 0xFF);
|
Composed[3] = (byte)(len & 0xFF);
|
||||||
Composed[4] = metaLen;
|
Composed[4] = metaLen;
|
||||||
ContentOffset = 4;
|
ContentOffset = metaLen + (uint)5;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 5, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 5, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 5 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 5 + metaLen, (int)length);
|
||||||
@@ -234,7 +234,7 @@ public struct TDU
|
|||||||
Composed[3] = (byte)((len >> 8) & 0xFF);
|
Composed[3] = (byte)((len >> 8) & 0xFF);
|
||||||
Composed[4] = (byte)(len & 0xFF);
|
Composed[4] = (byte)(len & 0xFF);
|
||||||
Composed[5] = metaLen;
|
Composed[5] = metaLen;
|
||||||
ContentOffset = 5;
|
ContentOffset = metaLen + (uint)6;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 6, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 6, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 6 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 6 + metaLen, (int)length);
|
||||||
@@ -249,7 +249,7 @@ public struct TDU
|
|||||||
Composed[4] = (byte)((len >> 8) & 0xFF);
|
Composed[4] = (byte)((len >> 8) & 0xFF);
|
||||||
Composed[5] = (byte)(len & 0xFF);
|
Composed[5] = (byte)(len & 0xFF);
|
||||||
Composed[6] = metaLen;
|
Composed[6] = metaLen;
|
||||||
ContentOffset = 6;
|
ContentOffset = metaLen + (uint)7;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 7, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 7, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 7 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 7 + metaLen, (int)length);
|
||||||
@@ -265,7 +265,7 @@ public struct TDU
|
|||||||
Composed[5] = (byte)((len >> 8) & 0xFF);
|
Composed[5] = (byte)((len >> 8) & 0xFF);
|
||||||
Composed[6] = (byte)(len & 0xFF);
|
Composed[6] = (byte)(len & 0xFF);
|
||||||
Composed[7] = metaLen;
|
Composed[7] = metaLen;
|
||||||
ContentOffset = 7;
|
ContentOffset = metaLen + (uint)8;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 8, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 8, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 8 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 8 + metaLen, (int)length);
|
||||||
@@ -282,7 +282,7 @@ public struct TDU
|
|||||||
Composed[6] = (byte)((len >> 8) & 0xFF);
|
Composed[6] = (byte)((len >> 8) & 0xFF);
|
||||||
Composed[7] = (byte)(len & 0xFF);
|
Composed[7] = (byte)(len & 0xFF);
|
||||||
Composed[8] = metaLen;
|
Composed[8] = metaLen;
|
||||||
ContentOffset = 8;
|
ContentOffset = metaLen + (uint)9;
|
||||||
|
|
||||||
Buffer.BlockCopy(metadata, 0, Composed, 9, metaLen);
|
Buffer.BlockCopy(metadata, 0, Composed, 9, metaLen);
|
||||||
Buffer.BlockCopy(data, 0, Composed, 9 + metaLen, (int)length);
|
Buffer.BlockCopy(data, 0, Composed, 9 + metaLen, (int)length);
|
||||||
|
|||||||
Reference in New Issue
Block a user