C# Class GSF.IO.Unmanaged.MemoryPoolStreamCore

Provides a dynamically sizing sequence of unmanaged data.
Inheritance: IDisposable
Mostra file Open project: GridProtectionAlliance/openHistorian Class Usage Examples

Public Methods

Method Description
ConfigureAlignment ( long startPosition ) : void

Configure the natural alignment of the data.

ConfigureAlignment ( long startPosition, int alignment ) : void

Configure the natural alignment of the data.

CopyTo ( long position, IntPtr dest, int length ) : void
Dispose ( ) : void

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

GetBlock ( BlockArguments args ) : void

Gets a block for the following Io session.

MemoryPoolStreamCore ( ) : System

Creates a new MemoryPoolStreamCore using the default MemoryPool.

MemoryPoolStreamCore ( MemoryPool pool ) : System

Create a new MemoryPoolStreamCore

ReadBlock ( long position, IntPtr &pointer, int &validLength ) : void

Reads from the underlying stream the requested set of data. This function is more user friendly than calling GetBlock().

Private Methods

Method Description
Dispose ( bool disposing ) : void

Releases the unmanaged resources used by the MemoryFile object and optionally releases the managed resources.

GetPage ( long position ) : IntPtr

Returns the page that corresponds to the absolute position. This function will also autogrow the stream.

IncreasePageCount ( int pageCount ) : void

Increases the size of the Memory Stream and updated the settings if needed

Method Details

ConfigureAlignment() public method

Configure the natural alignment of the data.
public ConfigureAlignment ( long startPosition ) : void
startPosition long The first addressable position
return void

ConfigureAlignment() public method

Configure the natural alignment of the data.
public ConfigureAlignment ( long startPosition, int alignment ) : void
startPosition long The first addressable position
alignment int Forces alignment on this boundary. /// Alignment must be a factor of the BufferPool's page boudary.
return void

CopyTo() public method

public CopyTo ( long position, IntPtr dest, int length ) : void
position long
dest IntPtr
length int
return void

Dispose() public method

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public Dispose ( ) : void
return void

GetBlock() public method

Gets a block for the following Io session.
public GetBlock ( BlockArguments args ) : void
args BlockArguments
return void

MemoryPoolStreamCore() public method

Creates a new MemoryPoolStreamCore using the default MemoryPool.
public MemoryPoolStreamCore ( ) : System
return System

MemoryPoolStreamCore() public method

Create a new MemoryPoolStreamCore
public MemoryPoolStreamCore ( MemoryPool pool ) : System
pool MemoryPool
return System

ReadBlock() public method

Reads from the underlying stream the requested set of data. This function is more user friendly than calling GetBlock().
public ReadBlock ( long position, IntPtr &pointer, int &validLength ) : void
position long the starting position of the read
pointer IntPtr an output pointer to .
validLength int the number of bytes that are valid after this position.
return void