PresenceTracker Class — netty Architecture
Architecture documentation for the PresenceTracker class in LeakPresenceDetector.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 43c3721d_1a1c_f4c5_2a4e_19ab56c570d5["PresenceTracker"] acb11df3_85c3_c25d_0290_bc4b45701d31["LeakPresenceDetector.java"] 43c3721d_1a1c_f4c5_2a4e_19ab56c570d5 -->|defined in| acb11df3_85c3_c25d_0290_bc4b45701d31 558acff5_c596_c058_1cd5_d7b2a83b6028["PresenceTracker()"] 43c3721d_1a1c_f4c5_2a4e_19ab56c570d5 -->|method| 558acff5_c596_c058_1cd5_d7b2a83b6028 558363b4_c155_aa58_0642_1233789f90dd["record()"] 43c3721d_1a1c_f4c5_2a4e_19ab56c570d5 -->|method| 558363b4_c155_aa58_0642_1233789f90dd 5fbd58ba_4489_c24a_6c62_bf156e1a12ce["close()"] 43c3721d_1a1c_f4c5_2a4e_19ab56c570d5 -->|method| 5fbd58ba_4489_c24a_6c62_bf156e1a12ce
Relationship Graph
Source Code
common/src/main/java/io/netty/util/LeakPresenceDetector.java lines 219–254
private static final class PresenceTracker<T> extends AtomicBoolean implements ResourceLeakTracker<T> {
private final ResourceScope scope;
PresenceTracker(ResourceScope scope) {
super(false);
this.scope = scope;
scope.checkOpen();
scope.openResourceCounter.increment();
if (TRACK_CREATION_STACK) {
scope.creationStacks.put(this, new LeakCreation());
}
}
@Override
public void record() {
}
@Override
public void record(Object hint) {
}
@Override
public boolean close(Object trackedObject) {
if (compareAndSet(false, true)) {
scope.openResourceCounter.decrement();
if (TRACK_CREATION_STACK) {
scope.creationStacks.remove(this);
}
scope.checkOpen();
return true;
}
return false;
}
}
Source
Frequently Asked Questions
What is the PresenceTracker class?
PresenceTracker is a class in the netty codebase, defined in common/src/main/java/io/netty/util/LeakPresenceDetector.java.
Where is PresenceTracker defined?
PresenceTracker is defined in common/src/main/java/io/netty/util/LeakPresenceDetector.java at line 219.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free