|
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) | |
Public Member Functions inherited from Job | |
| __init__ (self, name) | |
| finished (self) | |
| getFinishedEvent (self) | |
| getJobName (self) | |
| getPriority (self) | |
| isFinished (self) | |
| printingBegin (self) | |
| printingEnd (self) | |
| resume (self) | |
| setPriority (self, priority) | |
| suspend (self) | |
Public Member Functions inherited from DirectObject | |
| __init__ (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() | |
Static Public Attributes inherited from Job | |
| 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. | |
Static Public Attributes inherited from DirectObject | |
| 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) | |
Protected Member Functions inherited from Job | |
| _cleanupGenerator (self) | |
| _getGenerator (self) | |
| _getJobId (self) | |
| _setFinished (self) | |
Protected Member Functions inherited from DirectObject | |
| _addTask (self, task) | |
| _clearTask (self, task) | |
Protected Attributes | |
| _checkContainersJob = None | |
| _checkDelayScale = config.GetFloat('leak-detector-check-delay-scale', 1.5) | |
| _checkForLeaks | |
| _findContainersJob = None | |
| dict | _id2ref = {} |
| dict | _index2containerId2len = {} |
| dict | _index2delay = {} |
| int | _nextCheckDelay = firstCheckDelay/2. |
| _pruneContainersJob = None | |
| _pruneObjectRefs | |
| _pruneTaskPeriod = config.GetFloat('leak-detector-prune-period', 60. * 30.) | |
| _scheduleNextLeakCheck | |
| _scheduleNextPruning | |
| _serialNum = serialNum() | |
Protected Attributes inherited from Job | |
| bool | _finished = False |
| _generator = None | |
| _id = Job._SerialGen.next() | |
| _name = name | |
| bool | _printing = False |
| _priority = Job.Priorities.Normal | |
| _pstats = PStatCollector("App:Show code:jobManager:%s" % self._name) | |
Protected Attributes inherited from DirectObject | |
| dict | _taskList = {} |
Additional Inherited Members | |
Static Protected Attributes inherited from Job | |
| _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 ) |
|
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 |