46 if (numUniqueIOs <= 0) {
47 IString msg =
"At least one unique IO must be used when using the unique " 48 "IO cube caching algorithm";
80 const Buffer &justRequested) {
85 if (justUsed.size()) {
88 bool foundAHome =
false;
90 for (
int uniqueIONum = 0;
95 if (uniqueIO.empty()) {
99 else if (uniqueIO == justUsed) {
112 QListIterator <RawCubeChunk *> allocatedIterator(allocated);
114 while (allocatedIterator.hasNext()) {
121 found = chunksForIo.indexOf(chunk) != -1;
125 chunksToToss.append(chunk);
Buffer for reading and writing cube data.
This error is for when a programmer made an API call that was illegal.
virtual CacheResult recommendChunksToFree(QList< RawCubeChunk *> allocated, QList< RawCubeChunk *> justUsed, const Buffer &justRequested)
Please see the class description for how this algorithm works.
virtual ~UniqueIOCachingAlgorithm()
Frees the memory allocated by this caching algorithm.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
#define _FILEINFO_
Macro for the filename and line number.
A section of raw data on the disk.
UniqueIOCachingAlgorithm(int numUniqueIOs)
Construct a new UniqueIOCachingAlgorithm.
Adds specific functionality to C++ strings.
This stores the results of the caching algorithm.
Namespace for ISIS/Bullet specific routines.
QQueue< QList< RawCubeChunk * > > * m_uniqueIOs
This is the set of past unique IOs.