VertexDataPage

from panda3d.core import VertexDataPage
class VertexDataPage

Bases: SimpleAllocator, SimpleLruPage

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.

Inheritance diagram

Inheritance diagram of VertexDataPage

RCCompressed = 1
RCDisk = 2
RCEndOfList = 3
RCResident = 0
RC_compressed = 1
RC_disk = 2
RC_end_of_list = 3
RC_resident = 0
__init__(*args, **kwargs)
alloc()

C++ Interface: alloc(const VertexDataPage self, int size)

/**
  • Allocates a new block. Returns NULL if a block of the requested size

  • cannot be allocated.

  • To free the allocated block, call block->free(), or simply delete the block

  • pointer.

*/

flushThreads()

C++ Interface: flush_threads()

/**
  • Waits for all of the pending thread tasks to finish before returning.

*/

flush_threads()

C++ Interface: flush_threads()

/**
  • Waits for all of the pending thread tasks to finish before returning.

*/

getBook()

C++ Interface: get_book(VertexDataPage self)

/**
  • Returns a pointer to the book that owns this page.

*/

getClassType()

C++ Interface: get_class_type()

getFirstBlock()

C++ Interface: get_first_block(VertexDataPage self)

/**
  • Returns a pointer to the first allocated block, or NULL if there are no

  • allocated blocks.

*/

getGlobalLru()

C++ Interface: get_global_lru(int rclass)

/**
  • Returns a pointer to the global LRU object that manages the

  • VertexDataPage’s with the indicated RamClass.

*/

getNumPendingReads()

C++ Interface: get_num_pending_reads()

/**
  • Returns the number of read requests that are waiting to be serviced by a

  • thread.

*/

getNumPendingWrites()

C++ Interface: get_num_pending_writes()

/**
  • Returns the number of write requests that are waiting to be serviced by a

  • thread.

*/

getNumThreads()

C++ Interface: get_num_threads()

/**
  • 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).

*/

getPendingLru()

C++ Interface: get_pending_lru()

/**
  • Returns a pointer to the global LRU object that manages the

  • VertexDataPage’s that are pending processing by the thread.

*/

getPendingRamClass()

C++ Interface: get_pending_ram_class(VertexDataPage self)

/**
  • Returns the pending ram class of the array. If this is different from

  • get_ram_class(), this page has been queued to be processed by the thread.

  • Eventually the page will be set to this ram class.

*/

getRamClass()

C++ Interface: get_ram_class(VertexDataPage self)

/**
  • Returns the current ram class of the array. If this is other than

  • RC_resident, the array data is not resident in memory.

*/

getSaveFile()

C++ Interface: get_save_file()

/**
  • Returns the global VertexDataSaveFile that will be used to save vertex data

  • buffers to disk when necessary.

*/

get_book()

C++ Interface: get_book(VertexDataPage self)

/**
  • Returns a pointer to the book that owns this page.

*/

get_class_type()

C++ Interface: get_class_type()

get_first_block()

C++ Interface: get_first_block(VertexDataPage self)

/**
  • Returns a pointer to the first allocated block, or NULL if there are no

  • allocated blocks.

*/

get_global_lru()

C++ Interface: get_global_lru(int rclass)

/**
  • Returns a pointer to the global LRU object that manages the

  • VertexDataPage’s with the indicated RamClass.

*/

get_num_pending_reads()

C++ Interface: get_num_pending_reads()

/**
  • Returns the number of read requests that are waiting to be serviced by a

  • thread.

*/

get_num_pending_writes()

C++ Interface: get_num_pending_writes()

/**
  • Returns the number of write requests that are waiting to be serviced by a

  • thread.

*/

get_num_threads()

C++ Interface: get_num_threads()

/**
  • 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).

*/

get_pending_lru()

C++ Interface: get_pending_lru()

/**
  • Returns a pointer to the global LRU object that manages the

  • VertexDataPage’s that are pending processing by the thread.

*/

get_pending_ram_class()

C++ Interface: get_pending_ram_class(VertexDataPage self)

/**
  • Returns the pending ram class of the array. If this is different from

  • get_ram_class(), this page has been queued to be processed by the thread.

  • Eventually the page will be set to this ram class.

*/

get_ram_class()

C++ Interface: get_ram_class(VertexDataPage self)

/**
  • Returns the current ram class of the array. If this is other than

  • RC_resident, the array data is not resident in memory.

*/

get_save_file()

C++ Interface: get_save_file()

/**
  • Returns the global VertexDataSaveFile that will be used to save vertex data

  • buffers to disk when necessary.

*/

output()

C++ Interface: output(VertexDataPage self, ostream out)

/**

*/

requestResident()

C++ Interface: request_resident(const VertexDataPage self)

/**
  • Ensures that the page will become resident soon. Future calls to

  • get_page_data() will eventually return non-NULL.

*/

request_resident()

C++ Interface: request_resident(const VertexDataPage self)

/**
  • Ensures that the page will become resident soon. Future calls to

  • get_page_data() will eventually return non-NULL.

*/

saveToDisk()

C++ Interface: save_to_disk(const VertexDataPage self)

/**
  • Writes the page to disk, but does not evict it from memory or affect its

  • LRU status. If it gets evicted later without having been modified, it will

  • not need to write itself to disk again.

*/

save_file = SimpleAllocator, 0 of 18446744073709551615 allocated
save_to_disk()

C++ Interface: save_to_disk(const VertexDataPage self)

/**
  • Writes the page to disk, but does not evict it from memory or affect its

  • LRU status. If it gets evicted later without having been modified, it will

  • not need to write itself to disk again.

*/

stopThreads()

C++ Interface: stop_threads()

/**
  • Call this to stop the paging threads, if they were started. This may block

  • until all of the pending tasks have been completed.

*/

stop_threads()

C++ Interface: stop_threads()

/**
  • Call this to stop the paging threads, if they were started. This may block

  • until all of the pending tasks have been completed.

*/

upcastToSimpleAllocator()

C++ Interface: upcast_to_SimpleAllocator(const VertexDataPage self)

upcast from VertexDataPage to SimpleAllocator

upcastToSimpleLruPage()

C++ Interface: upcast_to_SimpleLruPage(const VertexDataPage self)

upcast from VertexDataPage to SimpleLruPage

upcast_to_SimpleAllocator()

C++ Interface: upcast_to_SimpleAllocator(const VertexDataPage self)

upcast from VertexDataPage to SimpleAllocator

upcast_to_SimpleLruPage()

C++ Interface: upcast_to_SimpleLruPage(const VertexDataPage self)

upcast from VertexDataPage to SimpleLruPage

write()

C++ Interface: write(VertexDataPage self, ostream out, int indent_level)

/**

*/