| Name | Message | Date |
|---|---|---|
| 📄 AsciiText.cs | 7 hours ago | |
| 📄 DltMessageParser.cs | 7 hours ago | |
| 📄 SpanReader.cs | 7 hours ago |
📄
lib/src/Internal/SpanReader.cs
using System; using System.Buffers.Binary; namespace SharpDlt.Internal; /// <summary>Endian aware primitive readers used by the DLT payload parser.</summary> internal static class SpanReader { public static ushort ReadUInt16(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadUInt16BigEndian(data) : BinaryPrimitives.ReadUInt16LittleEndian(data); public static uint ReadUInt32(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadUInt32BigEndian(data) : BinaryPrimitives.ReadUInt32LittleEndian(data); public static ulong ReadUInt64(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadUInt64BigEndian(data) : BinaryPrimitives.ReadUInt64LittleEndian(data); public static short ReadInt16(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadInt16BigEndian(data) : BinaryPrimitives.ReadInt16LittleEndian(data); public static int ReadInt32(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadInt32BigEndian(data) : BinaryPrimitives.ReadInt32LittleEndian(data); public static long ReadInt64(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadInt64BigEndian(data) : BinaryPrimitives.ReadInt64LittleEndian(data); public static float ReadSingle(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadSingleBigEndian(data) : BinaryPrimitives.ReadSingleLittleEndian(data); public static double ReadDouble(ReadOnlySpan<byte> data, bool msbFirst) => msbFirst ? BinaryPrimitives.ReadDoubleBigEndian(data) : BinaryPrimitives.ReadDoubleLittleEndian(data); }