HeaderEntry Class — netty Architecture
Architecture documentation for the HeaderEntry class in QpackEncoderDynamicTable.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD dfcf865a_659c_81ef_a37d_2eef0188cb00["HeaderEntry"] e46b63f7_a325_3795_be25_17be3a787249["QpackEncoderDynamicTable.java"] dfcf865a_659c_81ef_a37d_2eef0188cb00 -->|defined in| e46b63f7_a325_3795_be25_17be3a787249 bc726fcd_5586_78b6_a62c_3e91abbca967["HeaderEntry()"] dfcf865a_659c_81ef_a37d_2eef0188cb00 -->|method| bc726fcd_5586_78b6_a62c_3e91abbca967 1d28aa7d_dd24_0c81_0850_6401129f539d["remove()"] dfcf865a_659c_81ef_a37d_2eef0188cb00 -->|method| 1d28aa7d_dd24_0c81_0850_6401129f539d 5804f92d_4801_bc97_e650_6a698540d23d["addNextTo()"] dfcf865a_659c_81ef_a37d_2eef0188cb00 -->|method| 5804f92d_4801_bc97_e650_6a698540d23d
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoderDynamicTable.java lines 442–489
private static final class HeaderEntry extends QpackHeaderField {
/**
* Pointer to the next entry in insertion order with a different {@link #hash} than this entry.
*/
HeaderEntry next;
/**
* Pointer to the next entry in insertion order with the same {@link #hash} as this entry, a.k.a hash collisions
*/
HeaderEntry nextSibling;
/**
* Number of header blocks that refer to this entry as the value for its <a
* href="https://www.rfc-editor.org/rfc/rfc9204.html#name-required-insert-count">
* required insert count</a>
*/
int refCount;
/**
* Hashcode for this entry.
*/
final int hash;
/**
* Insertion index for this entry.
*/
final int index;
HeaderEntry(int hash, CharSequence name, CharSequence value, int index, @Nullable HeaderEntry nextSibling) {
super(name, value);
this.index = index;
this.hash = hash;
this.nextSibling = nextSibling;
}
void remove(HeaderEntry prev) {
assert prev != this;
prev.next = next;
next = null; // null references to prevent nepotism in generational GC.
nextSibling = null;
}
void addNextTo(HeaderEntry prev) {
assert prev != this;
this.next = prev.next;
prev.next = this;
}
}
Source
Frequently Asked Questions
What is the HeaderEntry class?
HeaderEntry is a class in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoderDynamicTable.java.
Where is HeaderEntry defined?
HeaderEntry is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoderDynamicTable.java at line 442.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free