Home / Class/ AtomicReferenceCountUpdater Class — netty Architecture

AtomicReferenceCountUpdater Class — netty Architecture

Architecture documentation for the AtomicReferenceCountUpdater class in AtomicReferenceCountUpdater.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  430e1e97_fa60_f32e_cdc9_cc318abf9db6["AtomicReferenceCountUpdater"]
  5246dc1d_7aee_0c2b_b62b_285e14fdc1b9["AtomicReferenceCountUpdater.java"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|defined in| 5246dc1d_7aee_0c2b_b62b_285e14fdc1b9
  637dae89_fc0e_e1d6_d55f_0c6a7eb87dcd["AtomicReferenceCountUpdater()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| 637dae89_fc0e_e1d6_d55f_0c6a7eb87dcd
  c47533d5_3ed6_ec09_0083_1a4d69214f1c["updater()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| c47533d5_3ed6_ec09_0083_1a4d69214f1c
  cfeaf78e_bdea_44e8_f757_caac1d9ac8c8["safeInitializeRawRefCnt()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| cfeaf78e_bdea_44e8_f757_caac1d9ac8c8
  3f898d39_a2d3_4a0b_7c78_1ed6f6b2eaa5["getAndAddRawRefCnt()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| 3f898d39_a2d3_4a0b_7c78_1ed6f6b2eaa5
  6268826c_696b_6131_b000_e6f6cdede1cf["getRawRefCnt()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| 6268826c_696b_6131_b000_e6f6cdede1cf
  1ec8bbed_57d3_f789_4101_c912c25c0eb0["getAcquireRawRefCnt()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| 1ec8bbed_57d3_f789_4101_c912c25c0eb0
  8540ba4e_3f4b_c323_e852_9617efcfb300["setReleaseRawRefCnt()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| 8540ba4e_3f4b_c323_e852_9617efcfb300
  8e69a238_65cc_ff5e_be2d_939544ae8c8a["casRawRefCnt()"]
  430e1e97_fa60_f32e_cdc9_cc318abf9db6 -->|method| 8e69a238_65cc_ff5e_be2d_939544ae8c8a

Relationship Graph

Source Code

common/src/main/java/io/netty/util/internal/AtomicReferenceCountUpdater.java lines 22–58

public abstract class AtomicReferenceCountUpdater<T extends ReferenceCounted> extends ReferenceCountUpdater<T> {

    protected AtomicReferenceCountUpdater() {
    }

    protected abstract AtomicIntegerFieldUpdater<T> updater();

    @Override
    protected final void safeInitializeRawRefCnt(T refCntObj, int value) {
        updater().set(refCntObj, value);
    }

    @Override
    protected final int getAndAddRawRefCnt(T refCntObj, int increment) {
        return updater().getAndAdd(refCntObj, increment);
    }

    @Override
    protected final int getRawRefCnt(T refCnt) {
        return updater().get(refCnt);
    }

    @Override
    protected final int getAcquireRawRefCnt(T refCnt) {
        return updater().get(refCnt);
    }

    @Override
    protected final void setReleaseRawRefCnt(T refCnt, int value) {
        updater().lazySet(refCnt, value);
    }

    @Override
    protected final boolean casRawRefCnt(T refCnt, int expected, int value) {
        return updater().compareAndSet(refCnt, expected, value);
    }
}

Frequently Asked Questions

What is the AtomicReferenceCountUpdater class?
AtomicReferenceCountUpdater is a class in the netty codebase, defined in common/src/main/java/io/netty/util/internal/AtomicReferenceCountUpdater.java.
Where is AtomicReferenceCountUpdater defined?
AtomicReferenceCountUpdater is defined in common/src/main/java/io/netty/util/internal/AtomicReferenceCountUpdater.java at line 22.

Analyze Your Own Codebase

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

Try Supermodel Free