Wireshark 4.7.3
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
_http3_header_field Struct Reference

Public Attributes

struct { 
   unsigned   len 
   unsigned   offset 
encoded
struct { 
   const char *   bytes 
   unsigned   len 
decoded

Detailed Description

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:

  • encoded points to the location of the encoded field in the original packet TVB.
  • decoded points to the formatted header string, which is allocated in a cache map, to conserve memory. The decoded fields are used to create an auxiliary TVB which will be used for dissection of decoded header values.

Member Data Documentation

◆ bytes

const char* _http3_header_field::bytes

Decoded header field bytes.

◆ len

unsigned _http3_header_field::len

Length of the encoded header field.

Length of the decoded header field.

◆ offset

unsigned _http3_header_field::offset

Offset of the encoded header field in the decrypted TVB.


The documentation for this struct was generated from the following file: