diff --git a/ZeroLevel/Services/Serialization/MemoryStreamReader.cs b/ZeroLevel/Services/Serialization/MemoryStreamReader.cs index b1be0a7..56c2dcc 100644 --- a/ZeroLevel/Services/Serialization/MemoryStreamReader.cs +++ b/ZeroLevel/Services/Serialization/MemoryStreamReader.cs @@ -14,6 +14,12 @@ namespace ZeroLevel.Services.Serialization : IBinaryReader { private readonly Stream _stream; + private bool _reverseByteOrder = false; + + public void ReverseByteOrder(bool use_reverse_byte_order) + { + _reverseByteOrder = use_reverse_byte_order; + } public MemoryStreamReader(byte[] data) { @@ -136,6 +142,16 @@ namespace ZeroLevel.Services.Serialization var readedCount = _stream.Read(buffer, 0, count); if (count != readedCount) throw new InvalidOperationException($"The stream returned less data ({count} bytes) than expected ({readedCount} bytes)"); + if (_reverseByteOrder) + { + byte b; + for (int i = 0; i < (count >> 1); i++) + { + b = buffer[i]; + buffer[i] = buffer[count - i]; + buffer[count - i] = b; + } + } return buffer; } diff --git a/ZeroLevel/ZeroLevel.csproj b/ZeroLevel/ZeroLevel.csproj index deeb58a..684975e 100644 --- a/ZeroLevel/ZeroLevel.csproj +++ b/ZeroLevel/ZeroLevel.csproj @@ -5,15 +5,15 @@ Infrastructure layer library ogoun ogoun - 2.0.2.0 - Fix IExClient contract + 2.0.3.0 + Update serialization https://github.com/ogoun/Zero/wiki Copyright Ogoun 2019 https://opensource.org/licenses/MIT https://raw.githubusercontent.com/ogoun/Zero/master/zero.png https://github.com/ogoun/Zero GitHub - 2.0.2 + 2.0.3