Isis 3 Developer Reference
|
This is the parent of the caching algorithms
More...
#include <CubeCachingAlgorithm.h>
Classes | |
class | CacheResult |
This stores the results of the caching algorithm. More... | |
Public Member Functions | |
CubeCachingAlgorithm () | |
Construct a caching algorithm. More... | |
virtual | ~CubeCachingAlgorithm () |
Cleans up after a caching algorithm. More... | |
virtual CacheResult | recommendChunksToFree (QList< RawCubeChunk *> allocated, QList< RawCubeChunk *> justUsed, const Buffer &justRequested)=0 |
Call this to determine which chunks should be freed from memory. More... | |
This is the parent of the caching algorithms
The caching algorithms are given some limited/easy to acquire data about recent IOs and the allocated cube chunks. Their job is to quickly determine which allocated cube chunks should be put on disk or just freed from memory. These will not be called until there is at least a few allocated chunks in memory.
Isis::CubeCachingAlgorithm::CubeCachingAlgorithm | ( | ) |
Construct a caching algorithm.
|
virtual |
Cleans up after a caching algorithm.
|
pure virtual |
Call this to determine which chunks should be freed from memory.
allocated | This is an unordered list of all of the allocated chunks. |
justUsed | This should be the chunks required in the current read or write. Many algorithms will use this to not clean it up. |
justRequested | This must be the buffer area requested |
Implemented in Isis::BoxcarCachingAlgorithm, Isis::UniqueIOCachingAlgorithm, Isis::RegionalCachingAlgorithm, and Isis::FilterCachingAlgorithm.