package com.sleepycat.je.cleaner;
public class TrackedFileSummary {
private int memSize;
/**
* Return the total memory size for this object. We only bother to budget
* obsolete detail, not the overhead for this object, for two reasons:
* 1) The number of these objects is very small, and 2) unit tests disable
* detail tracking as a way to prevent budget adjustments here.
*/
int getMemorySize(){
return memSize;
}
private void updateMemoryBudget( int delta){
memSize+=delta;
tracker.getEnvironment().getMemoryBudget().updateMiscMemoryUsage(delta);
}
protected void hook168(){
if (memSize > 0) {
updateMemoryBudget(0 - memSize);
}
original();
}
protected void hook169(){
updateMemoryBudget(-MemoryBudget.TFS_LIST_SEGMENT_OVERHEAD);
original();
}
@MethodObject static class TrackedFileSummary_trackObsolete {
void execute(){
original();
if (adjustMem != 0) {
_this.updateMemoryBudget(adjustMem);
}
}
protected void hook170(){
adjustMem=0;
original();
}
protected void hook171(){
adjustMem+=MemoryBudget.TFS_LIST_INITIAL_OVERHEAD;
original();
}
protected void hook172(){
adjustMem+=MemoryBudget.TFS_LIST_SEGMENT_OVERHEAD;
original();
}
}
}