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.
 
◆ CachedBandBlocksManager()
      
        
          | te::mem::CachedBandBlocksManager::CachedBandBlocksManager  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ ~CachedBandBlocksManager()
      
        
          | te::mem::CachedBandBlocksManager::~CachedBandBlocksManager  | 
          ( | 
           | ) | 
           | 
        
      
 
 
◆ free()
      
        
          | void te::mem::CachedBandBlocksManager::free  | 
          ( | 
           | ) | 
           | 
        
      
 
- Note
 - Free all allocated internal resources and go back to the initial state. 
 
 
 
◆ getBlockPointer()
      
        
          | 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. 
 
 
 
◆ getDataPrefetchThreshold()
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::getDataPrefetchThreshold  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ getMaxNumberOfCacheBlocks()
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::getMaxNumberOfCacheBlocks  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
 
◆ getRaster()
◆ initialize() [1/2]
      
        
          | 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. 
 
 
 
◆ initialize() [2/2]
      
        
          | 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. 
 
 
 
◆ initState()
  
  
      
        
          | void te::mem::CachedBandBlocksManager::initState  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
Initialize this instance to an initial state. 
 
 
◆ isInitialized()
  
  
      
        
          | 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.
 
 
◆ threadEntry()
  
  
      
        
          | static void te::mem::CachedBandBlocksManager::threadEntry  | 
          ( | 
          ThreadParameters *  | 
          paramsPtr | ) | 
           | 
         
       
   | 
  
staticprotected   | 
  
 
Thread entry. 
- Parameters
 - 
  
    | paramsPtr | A pointer to the thread parameters.  | 
  
   
 
 
◆ m_blocksFifo
  
  
      
        
          | std::vector< BlockIndex > te::mem::CachedBandBlocksManager::m_blocksFifo | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_blocksFifoNextSwapBlockIndex
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::m_blocksFifoNextSwapBlockIndex | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_blocksHandler
  
  
      
        
          | std::vector< unsigned char* > te::mem::CachedBandBlocksManager::m_blocksHandler | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_blocksPointers
  
  
      
        
          | std::vector< std::vector< std::vector< unsigned char* > > > te::mem::CachedBandBlocksManager::m_blocksPointers | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_dataPrefetchThreshold
  
  
      
        
          | 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.
 
 
◆ m_getBlockPointer_BlkPtr
  
  
      
        
          | unsigned char* te::mem::CachedBandBlocksManager::m_getBlockPointer_BlkPtr | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_globalBlockSizeBytes
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::m_globalBlockSizeBytes | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_globalBlocksNumberX
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::m_globalBlocksNumberX | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_globalBlocksNumberY
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::m_globalBlocksNumberY | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_maxNumberOfCacheBlocks
  
  
      
        
          | unsigned int te::mem::CachedBandBlocksManager::m_maxNumberOfCacheBlocks | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_rasterPtr
◆ m_threadHandler
  
  
      
        
          | std::unique_ptr< boost::thread > te::mem::CachedBandBlocksManager::m_threadHandler | 
         
       
   | 
  
protected   | 
  
 
 
◆ m_threadParams
The documentation for this class was generated from the following file: