Table of Contents

Class ReadStreamBuffer

Namespace
Tlabs.Misc
Assembly
Tlabs.Core.dll

OBSOLETE Stream reader that buffers data as ReadOnlySequence<T>

public sealed class ReadStreamBuffer : IDisposable
Inheritance
ReadStreamBuffer
Implements
Inherited Members
Extension Methods

Remarks

This provides a chunk of data read from the stream as Sequence. if not IsEndOfStreamExpand() reads another chunk of data from the stream and appends it to Sequence. This is usefull as a buffer that can efficiently grow with no internal data copying on resize...

Constructors

ReadStreamBuffer(Stream, int)

Ctor from stream and option chunkSize

[Obsolete("Use SegmentReadBuffer as drop-in replacement", false)]
public ReadStreamBuffer(Stream stream, int chunkSize = 4096)

Parameters

stream Stream
chunkSize int

ReadStreamBuffer(ReadStreamBuffer)

Ctor from previos buffer

public ReadStreamBuffer(ReadStreamBuffer buffer)

Parameters

buffer ReadStreamBuffer

Properties

IsEndOfStream

True if end of stream is reached.

public bool IsEndOfStream { get; }

Property Value

bool

MinChunkSz

Minimum buffer chunk size.

public int MinChunkSz { get; }

Property Value

int

Sequence

Return buffered stream contents as as ReadOnlySequence<T>.

public ref readonly ReadOnlySequence<byte> Sequence { get; }

Property Value

ReadOnlySequence<byte>

Methods

Dispose()

public void Dispose()

Expand()

Expand buffer with more data from stream.

public ref readonly ReadOnlySequence<byte> Expand()

Returns

ReadOnlySequence<byte>

Shrink()

Shrink buffer to last segment and return count of bytes shrinked.

public long Shrink()

Returns

long