encodeHeader() — netty Function Reference
Architecture documentation for the encodeHeader() function in QpackEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 4290254a_d002_4407_68f0_95045618c5ff["encodeHeader()"] 9e578dbc_12be_4439_554b_24e265961ea5["QpackEncoder"] 4290254a_d002_4407_68f0_95045618c5ff -->|defined in| 9e578dbc_12be_4439_554b_24e265961ea5 c02c31bf_f073_98b8_7f17_f6cd7211e31c["encodeHeaders()"] c02c31bf_f073_98b8_7f17_f6cd7211e31c -->|calls| 4290254a_d002_4407_68f0_95045618c5ff 4e8cb2d3_5e5f_ee8e_1b58_767b9e28c8b0["encodeLiteral()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| 4e8cb2d3_5e5f_ee8e_1b58_767b9e28c8b0 e6a8c78f_612c_a898_3946_dd974c0e8e72["encodeWithDynamicTable()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| e6a8c78f_612c_a898_3946_dd974c0e8e72 e5dd0675_23b6_2e4d_161a_a83f05c006a9["tryEncodeWithDynamicTable()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| e5dd0675_23b6_2e4d_161a_a83f05c006a9 ff05e54c_ab86_28f0_9c02_ca61844188a2["tryAddToDynamicTable()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| ff05e54c_ab86_28f0_9c02_ca61844188a2 07b6b4b6_0f8d_7e39_baf3_06035d82689b["encodePostBaseIndexed()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| 07b6b4b6_0f8d_7e39_baf3_06035d82689b 4a1423e0_537b_7a93_4ca7_87c2b75fd5a3["encodeIndexedDynamicTable()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| 4a1423e0_537b_7a93_4ca7_87c2b75fd5a3 ffdf8c85_1a54_25cb_b4c3_c5e2b4ffe9b9["encodeLiteralWithNameRefStaticTable()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| ffdf8c85_1a54_25cb_b4c3_c5e2b4ffe9b9 aecc0b51_b4bf_12ee_de58_fe48c890656f["encodeIndexedStaticTable()"] 4290254a_d002_4407_68f0_95045618c5ff -->|calls| aecc0b51_b4bf_12ee_de58_fe48c890656f style 4290254a_d002_4407_68f0_95045618c5ff fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoder.java lines 207–237
private int encodeHeader(QpackAttributes qpackAttributes, ByteBuf out, int base, CharSequence name,
CharSequence value) {
int index = QpackStaticTable.findFieldIndex(name, value);
if (index == QpackStaticTable.NOT_FOUND) {
if (qpackAttributes.dynamicTableDisabled()) {
encodeLiteral(out, name, value);
return DYNAMIC_TABLE_ENCODE_NOT_POSSIBLE;
}
return encodeWithDynamicTable(qpackAttributes, out, base, name, value);
} else if ((index & QpackStaticTable.MASK_NAME_REF) == QpackStaticTable.MASK_NAME_REF) {
int dynamicTblIdx = tryEncodeWithDynamicTable(qpackAttributes, out, base, name, value);
if (dynamicTblIdx >= 0) {
return dynamicTblIdx;
}
final int nameIdx = index ^ QpackStaticTable.MASK_NAME_REF;
dynamicTblIdx = tryAddToDynamicTable(qpackAttributes, true, nameIdx, name, value);
if (dynamicTblIdx >= 0) {
if (dynamicTblIdx >= base) {
encodePostBaseIndexed(out, base, dynamicTblIdx);
} else {
encodeIndexedDynamicTable(out, base, dynamicTblIdx);
}
return dynamicTblIdx;
}
encodeLiteralWithNameRefStaticTable(out, nameIdx, value);
} else {
encodeIndexedStaticTable(out, index);
}
return qpackAttributes.dynamicTableDisabled() ? DYNAMIC_TABLE_ENCODE_NOT_POSSIBLE :
DYNAMIC_TABLE_ENCODE_NOT_DONE;
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does encodeHeader() do?
encodeHeader() is a function in the netty codebase, defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoder.java.
Where is encodeHeader() defined?
encodeHeader() is defined in codec-http3/src/main/java/io/netty/handler/codec/http3/QpackEncoder.java at line 207.
What does encodeHeader() call?
encodeHeader() calls 8 function(s): encodeIndexedDynamicTable, encodeIndexedStaticTable, encodeLiteral, encodeLiteralWithNameRefStaticTable, encodePostBaseIndexed, encodeWithDynamicTable, tryAddToDynamicTable, tryEncodeWithDynamicTable.
What calls encodeHeader()?
encodeHeader() is called by 1 function(s): encodeHeaders.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free