<PackageReference Include="Azure.Storage.Files.DataLake" Version="12.26.0-beta.1" />

Azure.Storage.Shared.StructuredMessage

static class StructuredMessage
namespace Azure.Storage.Shared { internal static class StructuredMessage { public enum Flags { None = 0, StorageCrc64 = 1 } public static class V1_0 { public const byte MessageVersionByte = 1; public const int StreamHeaderLength = 13; public const int StreamHeaderVersionOffset = 0; public const int StreamHeaderMessageLengthOffset = 1; public const int StreamHeaderFlagsOffset = 9; public const int StreamHeaderSegmentCountOffset = 11; public const int SegmentHeaderLength = 10; public const int SegmentHeaderNumOffset = 0; public const int SegmentHeaderContentLengthOffset = 2; public static void ReadStreamHeader(ReadOnlySpan<byte> buffer, out long messageLength, out Flags flags, out int totalSegments); public static int WriteStreamHeader(Span<byte> buffer, long messageLength, Flags flags, int totalSegments); public static IDisposable GetStreamHeaderBytes(ArrayPool<byte> pool, out Memory<byte> bytes, long messageLength, Flags flags, int totalSegments); public static int GetStreamFooterSize(Flags flags); public static void ReadStreamFooter(ReadOnlySpan<byte> buffer, Flags flags, out ulong crc64); public static int WriteStreamFooter(Span<byte> buffer, ReadOnlySpan<byte> crc64 = default(ReadOnlySpan<byte>)); public static IDisposable GetStreamFooterBytes(ArrayPool<byte> pool, out Memory<byte> bytes, ReadOnlySpan<byte> crc64 = default(ReadOnlySpan<byte>)); public static void ReadSegmentHeader(ReadOnlySpan<byte> buffer, out int segmentNum, out long contentLength); public static int WriteSegmentHeader(Span<byte> buffer, int segmentNum, long segmentLength); public static IDisposable GetSegmentHeaderBytes(ArrayPool<byte> pool, out Memory<byte> bytes, int segmentNum, long segmentLength); public static int GetSegmentFooterSize(Flags flags); public static void ReadSegmentFooter(ReadOnlySpan<byte> buffer, Flags flags, out ulong crc64); public static int WriteSegmentFooter(Span<byte> buffer, ReadOnlySpan<byte> crc64 = default(ReadOnlySpan<byte>)); public static IDisposable GetSegmentFooterBytes(ArrayPool<byte> pool, out Memory<byte> bytes, ReadOnlySpan<byte> crc64 = default(ReadOnlySpan<byte>)); } public const int Crc64Length = 8; } }