Isis 3 Programmer Reference
Isis::BoxcarCachingAlgorithm Class Reference

This algorithm is designed for applications that jump around between a couple of spots in the cube with a difficult to predict pattern but always the same places in the cube. More...

#include <BoxcarCachingAlgorithm.h>

Inheritance diagram for Isis::BoxcarCachingAlgorithm:
Inheritance graph
Collaboration diagram for Isis::BoxcarCachingAlgorithm:
Collaboration graph

Public Member Functions

 BoxcarCachingAlgorithm ()
 Construct a new BoxcarCachingAlgorithm. More...
 
virtual ~BoxcarCachingAlgorithm ()
 Frees the memory allocated by this caching algorithm. More...
 
virtual CacheResult recommendChunksToFree (QList< RawCubeChunk * > allocated, QList< RawCubeChunk * > justUsed, const Buffer &justRequested)
 Please see the class description for how this algorithm works. More...
 

Private Attributes

int m_minLine
 Used to calculate what lines to cache. More...
 

Detailed Description

This algorithm is designed for applications that jump around between a couple of spots in the cube with a difficult to predict pattern but always the same places in the cube.

This was designed for ProcessMosaic which jumps between band 1 and band n in the possible patterns (where A is a line on band 1 and B is a line on band N): A,A or A,B,A or A,B,B,A

Author
????-??-?? Jai Rideout and Steven Lambright
History:
2017-08-30 Summer Stapleton - Updated documentation. References #4807.

Definition at line 32 of file BoxcarCachingAlgorithm.h.

Constructor & Destructor Documentation

◆ BoxcarCachingAlgorithm()

Isis::BoxcarCachingAlgorithm::BoxcarCachingAlgorithm ( )

Construct a new BoxcarCachingAlgorithm.

The last numUniqueIOs will be kept in the cache, while the other chunks in the cache will all be tossed.

Definition at line 27 of file BoxcarCachingAlgorithm.cpp.

References m_minLine.

◆ ~BoxcarCachingAlgorithm()

Isis::BoxcarCachingAlgorithm::~BoxcarCachingAlgorithm ( )
virtual

Frees the memory allocated by this caching algorithm.

Definition at line 35 of file BoxcarCachingAlgorithm.cpp.

Member Function Documentation

◆ recommendChunksToFree()

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

Please see the class description for how this algorithm works.

Parameters
allocatedAll of the allocated cube chunks
justUsedThe cube chunks used in the last I/O
justRequestedThe buffer passed into the last I/O
Returns
The chunks that should be removed from memory

Implements Isis::CubeCachingAlgorithm.

Definition at line 49 of file BoxcarCachingAlgorithm.cpp.

References Isis::RawCubeChunk::getStartLine(), Isis::RawCubeChunk::lineCount(), and m_minLine.

Member Data Documentation

◆ m_minLine

int Isis::BoxcarCachingAlgorithm::m_minLine
private

Used to calculate what lines to cache.

Definition at line 42 of file BoxcarCachingAlgorithm.h.

Referenced by BoxcarCachingAlgorithm(), and recommendChunksToFree().


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