An implementation of a very simple LRU algorithm. Also see AdaptiveLru.
More...
|
| __init__ (str name, size_t max_size) |
|
| beginEpoch () |
| Marks the end of the previous epoch and the beginning of the next one. This will evict any objects that are pending eviction, and also update any internal bookkeeping. More...
|
|
| considerEvict () |
| Evicts a sequence of objects if the queue is full. More...
|
|
size_t | countActiveSize () |
| Returns the total size of the pages that were enqueued since the last call to begin_epoch(). More...
|
|
| evictTo (size_t target_size) |
| Evicts a sequence of objects until the queue fits within the indicated target size, regardless of its normal max size. More...
|
|
size_t | getMaxSize () |
| Returns the max size of all objects that are allowed to be active on the LRU. More...
|
|
size_t | getTotalSize () |
| Returns the total size of all objects currently active on the LRU. More...
|
|
| output (Ostream out) |
|
| setMaxSize (size_t max_size) |
| Changes the max size of all objects that are allowed to be active on the LRU. More...
|
|
bool | validate () |
| Checks that the LRU is internally self-consistent. Returns true if successful, false if there is some problem. More...
|
|
| write (Ostream out, int indent_level) |
|
Public Member Functions inherited from Namable |
| __init__ (const Namable copy) |
|
| __init__ (str initial_name) |
|
| clearName () |
| Resets the Namable's name to empty. More...
|
|
str | getName () |
|
bool | hasName () |
| Returns true if the Namable has a nonempty name set, false if the name is empty. More...
|
|
Namable | operator= (const Namable other) |
|
| output (Ostream out) |
| Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this. More...
|
|
| setName (str name) |
|
An implementation of a very simple LRU algorithm. Also see AdaptiveLru.
__init__ |
( |
str |
name, |
|
|
size_t |
max_size |
|
) |
| |
Marks the end of the previous epoch and the beginning of the next one. This will evict any objects that are pending eviction, and also update any internal bookkeeping.
Evicts a sequence of objects if the queue is full.
size_t countActiveSize |
( |
| ) |
|
Returns the total size of the pages that were enqueued since the last call to begin_epoch().
evictTo |
( |
size_t |
target_size | ) |
|
Evicts a sequence of objects until the queue fits within the indicated target size, regardless of its normal max size.
Returns the max size of all objects that are allowed to be active on the LRU.
Returns the total size of all objects currently active on the LRU.
setMaxSize |
( |
size_t |
max_size | ) |
|
Changes the max size of all objects that are allowed to be active on the LRU.
If the size is (size_t)-1, there is no limit.
Checks that the LRU is internally self-consistent. Returns true if successful, false if there is some problem.
write |
( |
Ostream |
out, |
|
|
int |
indent_level |
|
) |
| |