![]() |
Wireshark 4.5.0
The Wireshark network protocol analyzer
|
Public Attributes | ||
struct { | ||
unsigned len | ||
unsigned offset | ||
} | encoded | |
struct { | ||
const char * bytes | ||
unsigned len | ||
} | decoded | |
Header caching scheme
The HTTP/3 headers are sent on the wire in QPACK-encoded form. To dissect the headers, Wireshark needs to keep the decoded header names and values in memory.
To optimize dissection time, and to conserve memory the HTTP/3 dissector keeps all unique combinations of header-name, header-value in a cache.
The cached values are stored in the "pstr" format: name length (uint32_t) name value length (uint32_t) value HTTP3 header field.
The header field contains two sections:
const char* _http3_header_field::bytes |
Decoded header field bytes.
unsigned _http3_header_field::len |
Length of the encoded header field.
Length of the decoded header field.
unsigned _http3_header_field::offset |
Offset of the encoded header field in the decrypted TVB.