Isis Developer Reference
Isis::CubeCachingAlgorithm Class Referenceabstract

This is the parent of the caching algorithms. More...

#include <CubeCachingAlgorithm.h>

Inheritance diagram for Isis::CubeCachingAlgorithm:
Inheritance graph
Collaboration diagram for Isis::CubeCachingAlgorithm:
Collaboration graph

Classes

class  CacheResult
 This stores the results of the caching algorithm. More...
 

Public Member Functions

 CubeCachingAlgorithm ()
 Construct a caching algorithm.
 
virtual ~CubeCachingAlgorithm ()
 Cleans up after a caching algorithm.
 
virtual CacheResult recommendChunksToFree (QList< RawCubeChunk * > allocated, QList< RawCubeChunk * > justUsed, const Buffer &justRequested)=0
 Call this to determine which chunks should be freed from memory.
 

Detailed Description

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.

Author
????-??-?? Jai Rideout and Steven Lambright

Constructor & Destructor Documentation

◆ CubeCachingAlgorithm()

Isis::CubeCachingAlgorithm::CubeCachingAlgorithm ( )

Construct a caching algorithm.

◆ ~CubeCachingAlgorithm()

Isis::CubeCachingAlgorithm::~CubeCachingAlgorithm ( )
virtual

Cleans up after a caching algorithm.

Member Function Documentation

◆ recommendChunksToFree()

virtual CacheResult Isis::CubeCachingAlgorithm::recommendChunksToFree ( QList< RawCubeChunk * > allocated,
QList< RawCubeChunk * > justUsed,
const Buffer & justRequested )
pure virtual

Call this to determine which chunks should be freed from memory.

Parameters
allocatedThis is an unordered list of all of the allocated chunks.
justUsedThis should be the chunks required in the current read or write. Many algorithms will use this to not clean it up.
justRequestedThis must be the buffer area requested
Returns
A list of chunks to be freed from memory

Implemented in Isis::BoxcarCachingAlgorithm, Isis::RegionalCachingAlgorithm, Isis::FilterCachingAlgorithm, and Isis::UniqueIOCachingAlgorithm.


The documentation for this class was generated from the following files: