removeIfUnreferenced() — netty Function Reference
Architecture documentation for the removeIfUnreferenced() function in QpackEncoderDynamicTable.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 5f5717f9_87bc_f76c_da3e_c504a2dd26cb["removeIfUnreferenced()"] 4f2fd884_2460_757f_867b_2f1f2c79f9b9["QpackEncoderDynamicTable"] 5f5717f9_87bc_f76c_da3e_c504a2dd26cb -->|defined in| 4f2fd884_2460_757f_867b_2f1f2c79f9b9 822bfefa_4189_eccb_7fbf_ad08f0e65e18["evictUnreferencedEntries()"] 822bfefa_4189_eccb_7fbf_ad08f0e65e18 -->|calls| 5f5717f9_87bc_f76c_da3e_c504a2dd26cb 8f9a54be_14b3_a183_4da8_f1b9220ab184["index()"] 5f5717f9_87bc_f76c_da3e_c504a2dd26cb -->|calls| 8f9a54be_14b3_a183_4da8_f1b9220ab184 1d28aa7d_dd24_0c81_0850_6401129f539d["remove()"] 5f5717f9_87bc_f76c_da3e_c504a2dd26cb -->|calls| 1d28aa7d_dd24_0c81_0850_6401129f539d 10bf7e8b_2a34_f7c4_71e5_8684a234611b["resetIndicesToHead()"] 5f5717f9_87bc_f76c_da3e_c504a2dd26cb -->|calls| 10bf7e8b_2a34_f7c4_71e5_8684a234611b style 5f5717f9_87bc_f76c_da3e_c504a2dd26cb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoderDynamicTable.java lines 373–408
private boolean removeIfUnreferenced() {
final HeaderEntry toRemove = head.next;
if (toRemove.refCount != 0) {
return false;
}
size -= toRemove.size();
// Remove from the hash map
final int i = index(toRemove.hash);
HeaderEntry e = fields[i];
HeaderEntry prev = null;
while (e != null && e != toRemove) {
prev = e;
e = e.nextSibling;
}
if (e == toRemove) {
if (prev == null) {
fields[i] = e.nextSibling;
} else {
prev.nextSibling = e.nextSibling;
}
}
// Remove from the linked list
toRemove.remove(head);
if (toRemove == tail) {
resetIndicesToHead();
}
if (toRemove == drain) {
drain = head;
}
if (toRemove == knownReceived) {
knownReceived = head;
}
return true;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does removeIfUnreferenced() do?
removeIfUnreferenced() is a function in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoderDynamicTable.java.
Where is removeIfUnreferenced() defined?
removeIfUnreferenced() is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoderDynamicTable.java at line 373.
What does removeIfUnreferenced() call?
removeIfUnreferenced() calls 3 function(s): index, remove, resetIndicesToHead.
What calls removeIfUnreferenced()?
removeIfUnreferenced() is called by 1 function(s): evictUnreferencedEntries.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free