<PackageReference Include="System.IO.Pipelines" Version="10.0.0-preview.7.25380.108" />

StreamPipeReaderOptions

Represents a set of options for controlling the creation of the PipeReader.
using System.Buffers; using System.Runtime.CompilerServices; namespace System.IO.Pipelines { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public class StreamPipeReaderOptions { private const int DefaultBufferSize = 4096; internal const int DefaultMaxBufferSize = 2097152; private const int DefaultMinimumReadSize = 1024; internal static readonly StreamPipeReaderOptions s_default = new StreamPipeReaderOptions(null, -1, -1, false, false); public int BufferSize { get; } internal int MaxBufferSize { get; } = 2097152; public int MinimumReadSize { get; } public MemoryPool<byte> Pool { get; } public bool LeaveOpen { get; } public bool UseZeroByteReads { get; } internal bool IsDefaultSharedMemoryPool { get; } [System.Runtime.CompilerServices.NullableContext(2)] public StreamPipeReaderOptions(MemoryPool<byte> pool, int bufferSize, int minimumReadSize, bool leaveOpen) : this(pool, bufferSize, minimumReadSize, leaveOpen, false) { } [System.Runtime.CompilerServices.NullableContext(2)] public StreamPipeReaderOptions(MemoryPool<byte> pool = null, int bufferSize = -1, int minimumReadSize = -1, bool leaveOpen = false, bool useZeroByteReads = false) { Pool = (pool ?? MemoryPool<byte>.Shared); IsDefaultSharedMemoryPool = (Pool == MemoryPool<byte>.Shared); int num; if (bufferSize != -1) { if (bufferSize <= 0) throw new ArgumentOutOfRangeException("bufferSize"); num = bufferSize; } else num = 4096; BufferSize = num; int num2; if (minimumReadSize != -1) { if (minimumReadSize <= 0) throw new ArgumentOutOfRangeException("minimumReadSize"); num2 = minimumReadSize; } else num2 = 1024; MinimumReadSize = num2; LeaveOpen = leaveOpen; UseZeroByteReads = useZeroByteReads; } } }