|
VertexDataBlock | alloc (int size) |
| Allocates a new block.
|
|
VertexDataBook | getBook () |
| Returns a pointer to the book that owns this page.
|
|
VertexDataBlock | getFirstBlock () |
| Returns a pointer to the first allocated block, or NULL if there are no allocated blocks.
|
|
VertexDataPage::RamClass | getPendingRamClass () |
| Returns the pending ram class of the array.
|
|
VertexDataPage::RamClass | getRamClass () |
| Returns the current ram class of the array.
|
|
| output (Ostream out) |
|
| requestResident () |
| Ensures that the page will become resident soon.
|
|
bool | saveToDisk () |
| Writes the page to disk, but does not evict it from memory or affect its LRU status.
|
|
| write (Ostream out, int indent_level) |
|
Public Member Functions inherited from SimpleAllocator |
| __init__ (int max_size, Mutex lock) |
|
SimpleAllocatorBlock | alloc (int size, int alignment) |
| Allocates a new block.
|
|
int | getContiguous () |
| Returns an upper-bound estimate of the size of the largest contiguous block that may be allocated.
|
|
SimpleAllocatorBlock | getFirstBlock () |
| Returns a pointer to the first allocated block, or NULL if there are no allocated blocks.
|
|
int | getMaxSize () |
| Returns the available space for allocated objects.
|
|
int | getTotalSize () |
| Returns the total size of allocated objects.
|
|
bool | isEmpty () |
| Returns true if there are no blocks allocated on this page, or false if there is at least one.
|
|
| output (Ostream out) |
|
| setMaxSize (int max_size) |
| Changes the available space for allocated objects.
|
|
| write (Ostream out) |
|
Public Member Functions inherited from SimpleLruPage |
| __init__ (const SimpleLruPage copy) |
|
| __init__ (int lru_size) |
|
| dequeueLru () |
| Removes the page from its SimpleLru.
|
|
| enqueueLru (SimpleLru lru) |
| Adds the page to the LRU for the first time, or marks it recently-accessed if it has already been added.
|
|
| evictLru () |
| Evicts the page from the LRU.
|
|
SimpleLru | getLru () |
| Returns the LRU that manages this page, or NULL if it is not currently managed by any LRU.
|
|
int | getLruSize () |
| Returns the size of this page as reported to the LRU, presumably in bytes.
|
|
| markUsedLru () |
| To be called when the page is used; this will move it to the tail of the SimpleLru queue it is already on.
|
|
| markUsedLru (SimpleLru lru) |
| To be called when the page is used; this will move it to the tail of the specified SimpleLru queue.
|
|
SimpleLruPage | operator= (const SimpleLruPage copy) |
|
| output (Ostream out) |
|
| setLruSize (int lru_size) |
| Specifies the size of this page, presumably in bytes, although any unit is possible.
|
|
| write (Ostream out, int indent_level) |
|
|
static | flushThreads () |
| Waits for all of the pending thread tasks to finish before returning.
|
|
static TypeHandle | getClassType () |
|
static SimpleLru | getGlobalLru (VertexDataPage::RamClass rclass) |
| Returns a pointer to the global LRU object that manages the VertexDataPage's with the indicated RamClass.
|
|
static int | getNumPendingReads () |
| Returns the number of read requests that are waiting to be serviced by a thread.
|
|
static int | getNumPendingWrites () |
| Returns the number of write requests that are waiting to be serviced by a thread.
|
|
static int | getNumThreads () |
| Returns the number of threads that have been spawned to service vertex paging requests, or 0 if no threads have been spawned (which may mean either that all paging requests will be handled by the main thread, or simply that no paging requests have yet been issued).
|
|
static SimpleLru | getPendingLru () |
| Returns a pointer to the global LRU object that manages the VertexDataPage's that are pending processing by the thread.
|
|
static VertexDataSaveFile | getSaveFile () |
| Returns the global VertexDataSaveFile that will be used to save vertex data buffers to disk when necessary.
|
|
static | stopThreads () |
| Call this to stop the paging threads, if they were started.
|
|
A block of bytes that holds one or more VertexDataBlocks.
The entire page may be paged out, in the form of in-memory compression or to an on-disk cache file, if necessary.