|
Isis 3.0 Object Programmers' Reference |
Home |
This algorithm is designed for applications that use ProcessByQuickFilter or very similar I/O patterns to cache cube data appropriately. More...
#include <FilterCachingAlgorithm.h>


Public Member Functions | |
| FilterCachingAlgorithm (int numParallelIOs) | |
| Construct a new FilterCachingAlgorithm. | |
| virtual | ~FilterCachingAlgorithm () |
| Frees the memory allocated by this caching algorithm. | |
| virtual CacheResult | recommendChunksToFree (QList< RawCubeChunk * > allocated, QList< RawCubeChunk * > justUsed, const Buffer &justRequested) |
| Please see the class description for how this algorithm works. | |
Private Attributes | |
| QList< QList< RawCubeChunk * > > * | m_chunksToKeep |
| This is stored from parallel read # -> list of chunks for that read. | |
| int | m_currentIo |
| This keeps track of our position inside of m_chunksToKeep. | |
This algorithm is designed for applications that use ProcessByQuickFilter or very similar I/O patterns to cache cube data appropriately.
The last numParallelIOs worth of I/Os will be left in the cache.
For internal use only.
Definition at line 39 of file FilterCachingAlgorithm.h.
| Isis::FilterCachingAlgorithm::FilterCachingAlgorithm | ( | int | numParallelIOs | ) |
Construct a new FilterCachingAlgorithm.
The last numParallelIOs will be kept in the cache, while the other chunks in the cache will all be tossed.
| numParallelIOs | The number of IO operations to keep the chunks around for. |
Definition at line 44 of file FilterCachingAlgorithm.cpp.
References m_chunksToKeep, and m_currentIo.
| Isis::FilterCachingAlgorithm::~FilterCachingAlgorithm | ( | ) | [virtual] |
Frees the memory allocated by this caching algorithm.
Definition at line 58 of file FilterCachingAlgorithm.cpp.
References m_chunksToKeep.
| CubeCachingAlgorithm::CacheResult Isis::FilterCachingAlgorithm::recommendChunksToFree | ( | QList< RawCubeChunk * > | allocated, | |
| QList< RawCubeChunk * > | justUsed, | |||
| const Buffer & | justRequested | |||
| ) | [virtual] |
Please see the class description for how this algorithm works.
| allocated | All of the allocated cube chunks | |
| justUsed | The cube chunks used in the last I/O | |
| justRequested | The buffer passed into the last I/O |
Implements Isis::CubeCachingAlgorithm.
Definition at line 76 of file FilterCachingAlgorithm.cpp.
References m_chunksToKeep, and m_currentIo.
QList< QList< RawCubeChunk * > >* Isis::FilterCachingAlgorithm::m_chunksToKeep [private] |
This is stored from parallel read # -> list of chunks for that read.
All chunks not in this list are freed from memory.
Definition at line 53 of file FilterCachingAlgorithm.h.
Referenced by FilterCachingAlgorithm(), recommendChunksToFree(), and ~FilterCachingAlgorithm().
int Isis::FilterCachingAlgorithm::m_currentIo [private] |
This keeps track of our position inside of m_chunksToKeep.
Definition at line 58 of file FilterCachingAlgorithm.h.
Referenced by FilterCachingAlgorithm(), and recommendChunksToFree().