Skip to content

ReadOnlySequenceHelper Methods

Provides helpers for creating segmented System.Buffers.ReadOnlySequence instances.

Batch(IEnumerable<byte>, int)

staticextension
View source
public static IEnumerable<byte[]> Batch(this IEnumerable<byte> sequence, int batchSize)
Groups a sequence of bytes into arrays containing at most batchSize bytes.

Parameters

sequenceIEnumerable<byte>
The sequence to divide into batches.
batchSizeint
The maximum number of bytes in each batch.

Returns

A sequence of byte arrays containing the source bytes in order.

Exceptions

System.ArgumentNullException
sequence is null.

CreateReadOnlySequence(byte[][])

static
View source
public static ReadOnlySequence<byte> CreateReadOnlySequence(params byte[][] buffers)
Creates a read-only sequence whose segments are backed by the provided byte arrays.

Parameters

buffersbyte[][]
The buffers to include as sequence segments.

Returns

A read-only sequence containing the provided buffers in order.

Exceptions

System.ArgumentNullException
buffers is null.

ToReadOnlySequence(IEnumerable<Memory<byte>>)

staticextension
View source
public static ReadOnlySequence<byte> ToReadOnlySequence(this IEnumerable<Memory<byte>> buffers)
Creates a read-only sequence whose segments are backed by the provided memory regions.

Parameters

buffersIEnumerable<Memory<byte>>
The memory regions to include as sequence segments.

Returns

A read-only sequence containing the provided memory regions in order.

Exceptions

System.ArgumentNullException
buffers is null.

ToReadOnlySequence(IEnumerable<byte[]>)

staticextension
View source
public static ReadOnlySequence<byte> ToReadOnlySequence(this IEnumerable<byte[]> buffers)
Creates a read-only sequence whose segments are backed by the provided byte arrays.

Parameters

buffersIEnumerable<byte[]>
The buffers to include as sequence segments.

Returns

A read-only sequence containing the provided buffers in order.

Exceptions

System.ArgumentNullException
buffers is null.