Home / Class/ ReleasingTask Class — netty Architecture

ReleasingTask Class — netty Architecture

Architecture documentation for the ReleasingTask class in ReferenceCountUtil.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  6edb6778_5261_325a_9f9c_3dc52e0462a3["ReleasingTask"]
  4ae0e714_0e2c_09d9_d699_7371b5bf44e4["ReferenceCountUtil.java"]
  6edb6778_5261_325a_9f9c_3dc52e0462a3 -->|defined in| 4ae0e714_0e2c_09d9_d699_7371b5bf44e4
  1359bfb5_3cfb_3b73_243a_b6afe3e77e84["ReleasingTask()"]
  6edb6778_5261_325a_9f9c_3dc52e0462a3 -->|method| 1359bfb5_3cfb_3b73_243a_b6afe3e77e84
  5dc74b3f_1363_acd2_ff65_f63e6faf5083["run()"]
  6edb6778_5261_325a_9f9c_3dc52e0462a3 -->|method| 5dc74b3f_1363_acd2_ff65_f63e6faf5083
  2c493764_204e_c08a_7b4c_6c68a5f47329["String()"]
  6edb6778_5261_325a_9f9c_3dc52e0462a3 -->|method| 2c493764_204e_c08a_7b4c_6c68a5f47329

Relationship Graph

Source Code

common/src/main/java/io/netty/util/ReferenceCountUtil.java lines 179–206

    private static final class ReleasingTask implements Runnable {

        private final ReferenceCounted obj;
        private final int decrement;

        ReleasingTask(ReferenceCounted obj, int decrement) {
            this.obj = obj;
            this.decrement = decrement;
        }

        @Override
        public void run() {
            try {
                if (!obj.release(decrement)) {
                    logger.warn("Non-zero refCnt: {}", this);
                } else {
                    logger.debug("Released: {}", this);
                }
            } catch (Exception ex) {
                logger.warn("Failed to release an object: {}", obj, ex);
            }
        }

        @Override
        public String toString() {
            return StringUtil.simpleClassName(obj) + ".release(" + decrement + ") refCnt: " + obj.refCnt();
        }
    }

Frequently Asked Questions

What is the ReleasingTask class?
ReleasingTask is a class in the netty codebase, defined in common/src/main/java/io/netty/util/ReferenceCountUtil.java.
Where is ReleasingTask defined?
ReleasingTask is defined in common/src/main/java/io/netty/util/ReferenceCountUtil.java at line 179.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free