Home / Class/ PresenceTracker Class — netty Architecture

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;
        }
    }

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