OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LRUEvictionAlgorithm.h File Reference

This file includes the class specification for the Least Recently Used cache eviction algorithm used by the Foreign Storage Interface (FSI). More...

#include <cstddef>
#include <list>
#include "CacheEvictionAlgorithm.h"
#include "Shared/heavyai_shared_mutex.h"
+ Include dependency graph for LRUEvictionAlgorithm.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LRUEvictionAlgorithm
 

Detailed Description

This file includes the class specification for the Least Recently Used cache eviction algorithm used by the Foreign Storage Interface (FSI).

// TODO(Misiu): A lot of the code here is replicated from Shared/LruCache.h with some minor extensions for deletion and changed to use a set. It should be merged.

This algorithm tracks which chunks were the least recently used by relying on the touch_chunk function being called when they are used. It tracks the order of use in a simple queue.

Definition in file LRUEvictionAlgorithm.h.