AbstractReferenceCounted Class — netty Architecture
Architecture documentation for the AbstractReferenceCounted class in AbstractReferenceCounted.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ae22486e_b39c_ea47_93b0_650b697ec83b["AbstractReferenceCounted"] 50fdfd74_7b9f_dbf6_a9b3_53a32a794ede["AbstractReferenceCounted.java"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|defined in| 50fdfd74_7b9f_dbf6_a9b3_53a32a794ede f61eba24_8f88_cc0b_ae98_ab97bf103368["refCnt()"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|method| f61eba24_8f88_cc0b_ae98_ab97bf103368 c2b6fe56_f25b_b680_eca3_dfc0663a9729["setRefCnt()"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|method| c2b6fe56_f25b_b680_eca3_dfc0663a9729 f8d765cd_259d_1b3b_21a7_2f9b314ee96c["ReferenceCounted()"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|method| f8d765cd_259d_1b3b_21a7_2f9b314ee96c 726f06f8_d047_0ffe_1a63_e1770ece8c5a["release()"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|method| 726f06f8_d047_0ffe_1a63_e1770ece8c5a 8e027b94_919a_7380_30f5_270fbdb835f4["handleRelease()"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|method| 8e027b94_919a_7380_30f5_270fbdb835f4 50ed61d2_7f42_5659_4195_e0c06d7b9417["deallocate()"] ae22486e_b39c_ea47_93b0_650b697ec83b -->|method| 50ed61d2_7f42_5659_4195_e0c06d7b9417
Relationship Graph
Source Code
common/src/main/java/io/netty/util/AbstractReferenceCounted.java lines 23–77
public abstract class AbstractReferenceCounted implements ReferenceCounted {
private final RefCnt refCnt = new RefCnt();
@Override
public int refCnt() {
return RefCnt.refCnt(refCnt);
}
/**
* An unsafe operation intended for use by a subclass that sets the reference count of the object directly
*/
protected void setRefCnt(int refCnt) {
RefCnt.setRefCnt(this.refCnt, refCnt);
}
@Override
public ReferenceCounted retain() {
RefCnt.retain(refCnt);
return this;
}
@Override
public ReferenceCounted retain(int increment) {
RefCnt.retain(refCnt, increment);
return this;
}
@Override
public ReferenceCounted touch() {
return touch(null);
}
@Override
public boolean release() {
return handleRelease(RefCnt.release(refCnt));
}
@Override
public boolean release(int decrement) {
return handleRelease(RefCnt.release(refCnt, decrement));
}
private boolean handleRelease(boolean result) {
if (result) {
deallocate();
}
return result;
}
/**
* Called once {@link #refCnt()} is equals 0.
*/
protected abstract void deallocate();
}
Source
Frequently Asked Questions
What is the AbstractReferenceCounted class?
AbstractReferenceCounted is a class in the netty codebase, defined in common/src/main/java/io/netty/util/AbstractReferenceCounted.java.
Where is AbstractReferenceCounted defined?
AbstractReferenceCounted is defined in common/src/main/java/io/netty/util/AbstractReferenceCounted.java at line 23.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free