Home / Function/ release0() — netty Function Reference

release0() — netty Function Reference

Architecture documentation for the release0() function in RefCnt.java from the netty codebase.

Function java CommonUtil Internal calls 2 called by 5

Entity Profile

Dependency Diagram

graph TD
  f09c698a_6bc7_6ced_8737_2b648c1562a3["release0()"]
  e71c7596_f8e0_1394_7485_74fd2ca83bf0["AtomicRefCnt"]
  f09c698a_6bc7_6ced_8737_2b648c1562a3 -->|defined in| e71c7596_f8e0_1394_7485_74fd2ca83bf0
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1["release0()"]
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1 -->|calls| f09c698a_6bc7_6ced_8737_2b648c1562a3
  7c45a31c_f889_4638_3f00_cf5b0cfdc195["release0()"]
  7c45a31c_f889_4638_3f00_cf5b0cfdc195 -->|calls| f09c698a_6bc7_6ced_8737_2b648c1562a3
  b5c2ce00_3bce_c89b_b57a_5d368d2744bb["release()"]
  b5c2ce00_3bce_c89b_b57a_5d368d2744bb -->|calls| f09c698a_6bc7_6ced_8737_2b648c1562a3
  a224abec_8e5f_9344_ee42_9f6f016e1b28["release()"]
  a224abec_8e5f_9344_ee42_9f6f016e1b28 -->|calls| f09c698a_6bc7_6ced_8737_2b648c1562a3
  346079bc_77d3_5e01_539a_40fefa12f03c["release()"]
  346079bc_77d3_5e01_539a_40fefa12f03c -->|calls| f09c698a_6bc7_6ced_8737_2b648c1562a3
  430389be_c1ee_77a2_9ce8_43f5fe849582["throwIllegalRefCountOnRelease()"]
  f09c698a_6bc7_6ced_8737_2b648c1562a3 -->|calls| 430389be_c1ee_77a2_9ce8_43f5fe849582
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1["release0()"]
  f09c698a_6bc7_6ced_8737_2b648c1562a3 -->|calls| f2601aa0_4731_5bcb_b1a1_5c76b00280c1
  style f09c698a_6bc7_6ced_8737_2b648c1562a3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/main/java/io/netty/util/internal/RefCnt.java lines 281–295

        private static boolean release0(RefCnt instance, int decrement) {
            int curr, next;
            do {
                curr = instance.value;
                if (curr == decrement) {
                    next = 1;
                } else {
                    if (curr < decrement || (curr & 1) == 1) {
                        throwIllegalRefCountOnRelease(decrement, curr);
                    }
                    next = curr - decrement;
                }
            } while (!UPDATER.compareAndSet(instance, curr, next));
            return (next & 1) == 1;
        }

Domain

Subdomains

Frequently Asked Questions

What does release0() do?
release0() is a function in the netty codebase, defined in common/src/main/java/io/netty/util/internal/RefCnt.java.
Where is release0() defined?
release0() is defined in common/src/main/java/io/netty/util/internal/RefCnt.java at line 281.
What does release0() call?
release0() calls 2 function(s): release0, throwIllegalRefCountOnRelease.
What calls release0()?
release0() is called by 5 function(s): release, release, release, release0, release0.

Analyze Your Own Codebase

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

Try Supermodel Free