Table of Contents

Class StreamByteBuffer

Namespace
FellowOakDicom.IO.Buffer
Assembly
fo-dicom.core.dll
public sealed class StreamByteBuffer : IByteBuffer
Inheritance
StreamByteBuffer
Implements
Inherited Members
Extension Methods

Constructors

StreamByteBuffer(Stream, long, long)

public StreamByteBuffer(Stream stream, long position, long length)

Parameters

stream Stream
position long
length long

StreamByteBuffer(Stream, long, long, IMemoryProvider)

public StreamByteBuffer(Stream stream, long position, long length, IMemoryProvider memoryProvider)

Parameters

stream Stream
position long
length long
memoryProvider IMemoryProvider

Properties

Data

Gets the data.

public byte[] Data { get; }

Property Value

byte[]

IsMemory

Gets whether data is buffered in memory or not.

public bool IsMemory { get; }

Property Value

bool

Position

public long Position { get; }

Property Value

long

Size

Gets the size of the buffered data.

public long Size { get; }

Property Value

long

Stream

public Stream Stream { get; }

Property Value

Stream

Methods

CopyToStream(Stream)

Copies the contents of this buffer to the provided stream

public void CopyToStream(Stream stream)

Parameters

stream Stream

A stream that will receive the contents of this buffer

CopyToStreamAsync(Stream, CancellationToken)

Copies the contents of this buffer to the provided stream

public Task CopyToStreamAsync(Stream stream, CancellationToken cancellationToken)

Parameters

stream Stream

A stream that will receive the contents of this buffer

cancellationToken CancellationToken

A cancellation token that halts the execution of the copy operation

Returns

Task

GetByteRange(long, int, byte[])

Gets a subset of the data and fills it in the provided output buffer

public void GetByteRange(long offset, int count, byte[] output)

Parameters

offset long

Offset from beginning of data array.

count int

Number of bytes to return.

output byte[]

The array where the data will be written to