Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
HPack Namespace Reference

Classes

class  BitIStream
 
class  BitOStream
 
struct  BitPattern
 
struct  CodeEntry
 
class  Decoder
 
class  Encoder
 
class  FieldLookupTable
 
struct  HeaderField
 
class  HuffmanDecoder
 
struct  PrefixTable
 
struct  PrefixTableEntry
 

Typedefs

using HttpHeader = std::vector<HeaderField>
 
using HeaderSize = QPair<bool, quint32>
 

Functions

HeaderSize header_size (const HttpHeader &header)
 
bool operator== (const BitPattern &lhs, const BitPattern &rhs)
 
std::optional< QUrlmakePromiseKeyUrl (const HttpHeader &requestHeader)
 
HeaderSize entry_size (QByteArrayView name, QByteArrayView value)
 
HeaderSize entry_size (const HeaderField &entry)
 
quint64 huffman_encoded_bit_length (QByteArrayView inputData)
 
void huffman_encode_string (QByteArrayView inputData, BitOStream &outputStream)
 
static constexpr bool padding_is_valid (quint32 chunk, quint32 nBits)
 
bool huffman_decode_string (BitIStream &inputStream, QByteArray *outputBuffer)
 

Typedef Documentation

◆ HeaderSize

Definition at line 53 of file hpacktable_p.h.

◆ HttpHeader

using HPack::HttpHeader = std::vector<HeaderField>

Definition at line 33 of file hpack_p.h.

Function Documentation

◆ entry_size() [1/2]

HeaderSize HPack::entry_size ( const HeaderField & entry)
inline

Definition at line 57 of file hpacktable_p.h.

References entry_size().

+ Here is the call graph for this function:

◆ entry_size() [2/2]

HeaderSize HPack::entry_size ( QByteArrayView name,
QByteArrayView value )

Definition at line 19 of file hpacktable.cpp.

References qAddOverflow(), and sum.

Referenced by entry_size(), HPack::FieldLookupTable::evictEntry(), header_size(), and HPack::FieldLookupTable::prependField().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ header_size()

HeaderSize HPack::header_size ( const HttpHeader & header)

Definition at line 17 of file hpack.cpp.

References entry_size(), and header().

+ Here is the call graph for this function:

◆ huffman_decode_string()

bool HPack::huffman_decode_string ( BitIStream & inputStream,
QByteArray * outputBuffer )

Definition at line 530 of file huffman.cpp.

References HPack::HuffmanDecoder::decodeStream(), and Q_ASSERT.

Referenced by HPack::BitIStream::read().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ huffman_encode_string()

void HPack::huffman_encode_string ( QByteArrayView inputData,
BitOStream & outputStream )

Definition at line 357 of file huffman.cpp.

References HPack::BitOStream::bitLength(), i, and HPack::BitOStream::writeBits().

Referenced by HPack::BitOStream::write().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ huffman_encoded_bit_length()

quint64 HPack::huffman_encoded_bit_length ( QByteArrayView inputData)

Definition at line 348 of file huffman.cpp.

References i.

Referenced by HPack::BitOStream::write().

+ Here is the caller graph for this function:

◆ makePromiseKeyUrl()

std::optional< QUrl > HPack::makePromiseKeyUrl ( const HttpHeader & requestHeader)

Definition at line 507 of file hpack.cpp.

References Qt::CaseInsensitive, QUrl::isValid(), it, method, QUrl::setAuthority(), QUrl::setPath(), QUrl::setScheme(), and url.

+ Here is the call graph for this function:

◆ operator==()

bool HPack::operator== ( const BitPattern & lhs,
const BitPattern & rhs )

Definition at line 38 of file hpack.cpp.

References HPack::BitPattern::bitLength, and HPack::BitPattern::value.

◆ padding_is_valid()

static constexpr bool HPack::padding_is_valid ( quint32 chunk,
quint32 nBits )
staticconstexpr

Definition at line 370 of file huffman.cpp.

References Q_ASSERT.

Referenced by HPack::HuffmanDecoder::decodeStream().

+ Here is the caller graph for this function: