Panda3D
|
Public Member Functions | |
__init__ (self, name, firstCheckDelay=None) | |
addPrivateObj (cls, obj) | |
destroy (self) | |
getContainerById (self, id) | |
getContainerByIdGen (self, id, **kwArgs) | |
getContainerIds (self) | |
getContainerNameById (self, id) | |
getContainerNameByIdGen (self, id, **kwArgs) | |
getLeakEvent (self) | |
getPathsToContainers (self, name, ot, doneCallback=None) | |
getPathsToContainersNamed (self, name, on, doneCallback=None) | |
removeContainerById (self, id) | |
removePrivateObj (cls, obj) | |
run (self) | |
![]() | |
finished (self) | |
getFinishedEvent (self) | |
getJobName (self) | |
getPriority (self) | |
isFinished (self) | |
printingBegin (self) | |
printingEnd (self) | |
resume (self) | |
setPriority (self, priority) | |
suspend (self) | |
![]() | |
accept (self, event, method, extraArgs=[]) | |
acceptOnce (self, event, method, extraArgs=[]) | |
addTask (self, *args, **kwargs) | |
detectLeaks (self) | |
doMethodLater (self, *args, **kwargs) | |
getAllAccepting (self) | |
ignore (self, event) | |
ignoreAll (self) | |
isAccepting (self, event) | |
isIgnoring (self, event) | |
removeAllTasks (self) | |
removeTask (self, taskOrName) | |
Static Public Attributes | |
notify = directNotify.newCategory("ContainerLeakDetector") | |
PrivateIds = set() | |
![]() | |
Continue = None | |
yield None is acceptable in place of yield Job.Continue | |
Done = object() | |
Yielded from the run() generator method when the job is done. | |
Priorities = ScratchPad(Min=1, Low=100, Normal=1000, High=10000) | |
Sleep = object() | |
Yield any remaining time for this job until next frame. | |
![]() | |
accept_once = acceptOnce | |
add_task = addTask | |
detect_leaks = detectLeaks | |
do_method_later = doMethodLater | |
get_all_accepting = getAllAccepting | |
ignore_all = ignoreAll | |
is_accepting = isAccepting | |
is_ignoring = isIgnoring | |
remove_all_tasks = removeAllTasks | |
remove_task = removeTask | |
Protected Member Functions | |
_checkForLeaks (self, task=None) | |
_getCheckTaskName (self) | |
_getDestroyEvent (self) | |
_getPruneTaskName (self) | |
_pruneObjectRefs (self, task=None) | |
_scheduleNextLeakCheck (self) | |
_scheduleNextPruning (self) | |
![]() | |
_cleanupGenerator (self) | |
_getGenerator (self) | |
_getJobId (self) | |
_setFinished (self) | |
![]() | |
_addTask (self, task) | |
_clearTask (self, task) | |
Protected Attributes | |
_checkContainersJob | |
_checkDelayScale | |
_checkForLeaks | |
_findContainersJob | |
_id2ref | |
_index2containerId2len | |
_index2delay | |
_nextCheckDelay | |
_pruneContainersJob | |
_pruneObjectRefs | |
_pruneTaskPeriod | |
_scheduleNextLeakCheck | |
_scheduleNextPruning | |
_serialNum | |
![]() | |
_finished | |
_generator | |
_id | |
_name | |
_printing | |
_priority | |
_pstats | |
![]() | |
_taskList | |
Additional Inherited Members | |
![]() | |
_SerialGen = SerialNumGen() | |
Low-priority Python object-graph walker that looks for leaking containers. To reduce memory usage, this does a random walk of the Python objects to discover containers rather than keep a set of all visited objects; it may visit the same object many times but eventually it will discover every object. Checks container sizes at ever-increasing intervals.
__init__ | ( | self, | |
name, | |||
firstCheckDelay = None ) |
Reimplemented from Job.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
addPrivateObj | ( | cls, | |
obj ) |
destroy | ( | self | ) |
Reimplemented from Job.
getContainerById | ( | self, | |
id ) |
getContainerByIdGen | ( | self, | |
id, | |||
** | kwArgs ) |
getContainerIds | ( | self | ) |
getContainerNameById | ( | self, | |
id ) |
getContainerNameByIdGen | ( | self, | |
id, | |||
** | kwArgs ) |
getLeakEvent | ( | self | ) |
getPathsToContainers | ( | self, | |
name, | |||
ot, | |||
doneCallback = None ) |
getPathsToContainersNamed | ( | self, | |
name, | |||
on, | |||
doneCallback = None ) |
removeContainerById | ( | self, | |
id ) |
removePrivateObj | ( | cls, | |
obj ) |
run | ( | self | ) |
This should be overridden with a generator that does the needful processing. yield `Job.Continue` when possible/reasonable, and try not to run longer than the JobManager's timeslice between yields. When done, yield `Job.Done`.
Reimplemented from Job.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
|
static |