RAM cached and tiled raster band blocks manager.
More...
#include <CachedBandBlocksManager.h>
RAM cached and tiled raster band blocks manager.
Definition at line 51 of file CachedBandBlocksManager.h.
te::mem::CachedBandBlocksManager::CachedBandBlocksManager |
( |
| ) |
|
te::mem::CachedBandBlocksManager::~CachedBandBlocksManager |
( |
| ) |
|
void te::mem::CachedBandBlocksManager::free |
( |
| ) |
|
- Note
- Free all allocated internal resources and go back to the initial state.
void* te::mem::CachedBandBlocksManager::getBlockPointer |
( |
unsigned int |
band, |
|
|
unsigned int |
x, |
|
|
unsigned int |
y |
|
) |
| |
Returns a pointer to the required data block.
- Parameters
-
band | The band index. |
x | The block-id in x (or x-offset). |
y | The block-id in y (or y-offset). |
- Returns
- Pointer to the required data block.
unsigned int te::mem::CachedBandBlocksManager::getDataPrefetchThreshold |
( |
| ) |
const |
|
inline |
unsigned int te::mem::CachedBandBlocksManager::getMaxNumberOfCacheBlocks |
( |
| ) |
const |
|
inline |
bool te::mem::CachedBandBlocksManager::initialize |
( |
const te::rst::Raster & |
externalRaster, |
|
|
const unsigned char |
maxMemPercentUsed, |
|
|
const unsigned int |
dataPrefetchThreshold |
|
) |
| |
Initialize this instance to an initial state.
- Parameters
-
externalRaster | The external raster where the data will be read/written. |
maxMemPercentUsed | The maximum free memory percentual to use valid range: [1:100]. |
dataPrefetchThreshold | The read-ahead data prefetch threshold (0-will disable prefetch, 1-data always prefetched, higher values will do prefetch when necessary). |
- Returns
- true if OK, false on errors.
bool te::mem::CachedBandBlocksManager::initialize |
( |
const unsigned int |
maxNumberOfCacheBlocks, |
|
|
const te::rst::Raster & |
externalRaster, |
|
|
const unsigned int |
dataPrefetchThreshold |
|
) |
| |
Initialize this instance to an initial state.
- Parameters
-
externalRaster | The external raster where the data will be read/written. |
maxNumberOfCacheBlocks | The maximum number of cache blocks. |
dataPrefetchThreshold | The read-ahead data prefetch threshold (0-will disable prefetch, 1-data always prefetched, higher values will do prefetch when necessary). |
- Returns
- true if OK, false on errors.
void te::mem::CachedBandBlocksManager::initState |
( |
| ) |
|
|
private |
Initialize this instance to an initial state.
bool te::mem::CachedBandBlocksManager::isInitialized |
( |
| ) |
const |
|
inline |
Returns true if this instance is initialized.
- Returns
- true if this instance is initialized.
Definition at line 94 of file CachedBandBlocksManager.h.
static void te::mem::CachedBandBlocksManager::threadEntry |
( |
ThreadParameters * |
paramsPtr | ) |
|
|
staticprotected |
Thread entry.
- Parameters
-
paramsPtr | A pointer to the thread parameters. |
std::vector< BlockIndex > te::mem::CachedBandBlocksManager::m_blocksFifo |
|
protected |
unsigned int te::mem::CachedBandBlocksManager::m_blocksFifoNextSwapBlockIndex |
|
protected |
std::vector< unsigned char* > te::mem::CachedBandBlocksManager::m_blocksHandler |
|
protected |
std::vector< std::vector< std::vector< unsigned char* > > > te::mem::CachedBandBlocksManager::m_blocksPointers |
|
protected |
unsigned int te::mem::CachedBandBlocksManager::m_dataPrefetchThreshold |
|
protected |
The read-ahead data prefetch threshold (0-will disable prefetch, 1-data always prefetched, higher values will do prefetch when necessary).
Definition at line 222 of file CachedBandBlocksManager.h.
unsigned char* te::mem::CachedBandBlocksManager::m_getBlockPointer_BlkPtr |
|
protected |
unsigned int te::mem::CachedBandBlocksManager::m_globalBlockSizeBytes |
|
protected |
unsigned int te::mem::CachedBandBlocksManager::m_globalBlocksNumberX |
|
protected |
unsigned int te::mem::CachedBandBlocksManager::m_globalBlocksNumberY |
|
protected |
unsigned int te::mem::CachedBandBlocksManager::m_maxNumberOfCacheBlocks |
|
protected |
std::auto_ptr< boost::thread > te::mem::CachedBandBlocksManager::m_threadHandler |
|
protected |
The documentation for this class was generated from the following file: