<PackageReference Include="System.Text.Json" Version="6.0.0-preview.7.21377.19" />

ReadBufferState

using System.Buffers; namespace System.Text.Json.Serialization { internal struct ReadBufferState : IDisposable { public byte[] Buffer; public int BytesInBuffer; public int ClearMax; public bool IsFirstIteration; public bool IsFinalBlock; public ReadBufferState(int defaultBufferSize) { Buffer = ArrayPool<byte>.Shared.Rent(Math.Max(defaultBufferSize, JsonConstants.Utf8Bom.Length)); BytesInBuffer = (ClearMax = 0); IsFirstIteration = true; IsFinalBlock = false; } public void Dispose() { new Span<byte>(Buffer, 0, ClearMax).Clear(); ArrayPool<byte>.Shared.Return(Buffer, false); Buffer = null; } } }