proxygen
|
#include <HPACKDecoderBase.h>
Public Types | |
using | headers_t = std::vector< HPACKHeader > |
Public Member Functions | |
HPACKDecoderBase (uint32_t tableSize, uint32_t maxUncompressed) | |
HPACK::DecodeError | getError () const |
bool | hasError () const |
void | setHeaderTableMaxSize (uint32_t maxSize) |
void | setMaxUncompressed (uint64_t maxUncompressed) |
Protected Member Functions | |
uint32_t | emit (const HPACKHeader &header, HPACK::StreamingCallback *streamingCb, headers_t *emitted) |
void | completeDecode (HeaderCodec::Type type, HPACK::StreamingCallback *streamingCb, uint32_t compressedSize, uint32_t emittedSize) |
void | handleTableSizeUpdate (HPACKDecodeBuffer &dbuf, HeaderTable &table) |
Protected Attributes | |
HPACK::DecodeError | err_ {HPACK::DecodeError::NONE} |
uint32_t | maxTableSize_ |
uint64_t | maxUncompressed_ |
Common decoder functionality between HPACK and QPACK
Definition at line 24 of file HPACKDecoderBase.h.
using proxygen::HPACKDecoderBase::headers_t = std::vector<HPACKHeader> |
Definition at line 32 of file HPACKDecoderBase.h.
|
inline |
Definition at line 26 of file HPACKDecoderBase.h.
|
protected |
Definition at line 27 of file HPACKDecoderBase.cpp.
References wangle::HTTPHeaderSize::compressed, err_, proxygen::HPACK::HEADERS_TOO_LARGE, proxygen::HPACK::LITERAL_TOO_LARGE, proxygen::HPACK::NONE, proxygen::HPACK::StreamingCallback::onDecodeError(), proxygen::HPACK::StreamingCallback::onHeadersComplete(), proxygen::HeaderCodec::Stats::recordDecode(), proxygen::HeaderCodec::Stats::recordDecodeError(), proxygen::HeaderCodec::Stats::recordDecodeTooLarge(), proxygen::HPACK::StreamingCallback::stats, and wangle::HTTPHeaderSize::uncompressed.
Referenced by proxygen::QPACKDecoder::decodeStreaming(), proxygen::HPACKDecoder::decodeStreaming(), proxygen::QPACKDecoder::decodeStreamingImpl(), and setMaxUncompressed().
|
protected |
Definition at line 15 of file HPACKDecoderBase.cpp.
References proxygen::HPACKHeader::bytes(), proxygen::HPACKHeaderName::get(), proxygen::HPACKHeader::name, proxygen::HPACK::StreamingCallback::onHeader(), and proxygen::HPACKHeader::value.
Referenced by proxygen::HPACKDecoder::decodeIndexedHeader(), proxygen::QPACKDecoder::decodeIndexedHeaderQ(), proxygen::HPACKDecoder::decodeLiteralHeader(), proxygen::QPACKDecoder::decodeLiteralHeaderQ(), and setMaxUncompressed().
|
inline |
Definition at line 34 of file HPACKDecoderBase.h.
References err_.
Referenced by checkError(), and TEST_P().
|
protected |
Definition at line 56 of file HPACKDecoderBase.cpp.
References proxygen::HPACKDecodeBuffer::decodeInteger(), err_, proxygen::ERROR, proxygen::HPACK::INVALID_TABLE_SIZE, maxTableSize_, proxygen::HPACK::NONE, proxygen::HeaderTable::setCapacity(), proxygen::HPACK::TABLE_SIZE_UPDATE, and uint64_t.
Referenced by proxygen::QPACKDecoder::decodeEncoderStreamInstruction(), proxygen::HPACKDecoder::decodeHeader(), and setMaxUncompressed().
|
inline |
Definition at line 38 of file HPACKDecoderBase.h.
References err_, and proxygen::HPACK::NONE.
Referenced by checkError(), proxygen::QPACKDecoder::decodeEncoderStream(), proxygen::QPACKDecoder::decodeEncoderStreamInstruction(), proxygen::HPACKDecoder::decodeStreaming(), proxygen::QPACKDecoder::decodeStreamingImpl(), proxygen::QPACKDecoder::drainQueue(), proxygen::hpack::encodeDecode(), TEST_F(), and TEST_P().
|
inline |
|
inline |
Definition at line 46 of file HPACKDecoderBase.h.
References completeDecode(), emit(), handleTableSizeUpdate(), maxUncompressed_, type, and uint32_t.
Referenced by TEST().
|
protected |
Definition at line 63 of file HPACKDecoderBase.h.
Referenced by completeDecode(), proxygen::QPACKDecoder::decodeEncoderStream(), proxygen::HPACKDecoder::decodeIndexedHeader(), proxygen::QPACKDecoder::decodeIndexedHeaderQ(), proxygen::HPACKDecoder::decodeLiteralHeader(), proxygen::QPACKDecoder::decodeLiteralHeaderQ(), proxygen::QPACKDecoder::decodeStreaming(), proxygen::HPACKDecoder::decodeStreaming(), proxygen::QPACKDecoder::decodeStreamingImpl(), getError(), proxygen::QPACKDecoder::handleBaseIndex(), handleTableSizeUpdate(), and hasError().
|
protected |
Definition at line 64 of file HPACKDecoderBase.h.
Referenced by handleTableSizeUpdate(), and setHeaderTableMaxSize().
|
protected |
Definition at line 65 of file HPACKDecoderBase.h.
Referenced by proxygen::QPACKDecoder::decodeBlock(), proxygen::QPACKDecoder::decodeEncoderStream(), proxygen::QPACKDecoder::decodeStreaming(), proxygen::HPACKDecoder::decodeStreaming(), proxygen::QPACKDecoder::decodeStreamingImpl(), and setMaxUncompressed().