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.
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.
|
virtual |
Frees the memory allocated by this caching algorithm.
Definition at line 58 of file FilterCachingAlgorithm.cpp.
References m_chunksToKeep.
|
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.
|
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().
|
private |
This keeps track of our position inside of m_chunksToKeep.
Definition at line 58 of file FilterCachingAlgorithm.h.
Referenced by FilterCachingAlgorithm(), and recommendChunksToFree().