Home / Function/ removeIfUnreferenced() — netty Function Reference

removeIfUnreferenced() — netty Function Reference

Architecture documentation for the removeIfUnreferenced() function in QpackEncoderDynamicTable.java from the netty codebase.

Function java Buffer Allocators calls 3 called by 1

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

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