USGS

Isis 3.0 Developer's Reference (API)

Home

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>

Inherits Isis::CubeCachingAlgorithm.

List of all members.

Public Member Functions

 BoxcarCachingAlgorithm ()
 Construct a new BoxcarCachingAlgorithm.
virtual ~BoxcarCachingAlgorithm ()
 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.

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

Constructor & Destructor Documentation

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.

Parameters:
numUniqueIOs The number of unique IO operations to keep the chunks around for.
Isis::BoxcarCachingAlgorithm::~BoxcarCachingAlgorithm (  )  [virtual]

Frees the memory allocated by this caching algorithm.


Member Function Documentation

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:
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
Returns:
The chunks that should be removed from memory

Implements Isis::CubeCachingAlgorithm.

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


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