proxygen
|
#include <HPACKDecoder.h>
Private Member Functions | |
bool | isValid (uint32_t index) |
uint32_t | decodeIndexedHeader (HPACKDecodeBuffer &dbuf, HPACK::StreamingCallback *streamingCb, headers_t *emitted) |
uint32_t | decodeLiteralHeader (HPACKDecodeBuffer &dbuf, HPACK::StreamingCallback *streamingCb, headers_t *emitted) |
uint32_t | decodeHeader (HPACKDecodeBuffer &dbuf, HPACK::StreamingCallback *streamingCb, headers_t *emitted) |
Definition at line 22 of file HPACKDecoder.h.
|
inlineexplicit |
Definition at line 25 of file HPACKDecoder.h.
References decodeHeader(), decodeIndexedHeader(), decodeLiteralHeader(), decodeStreaming(), isValid(), and uint32_t.
|
private |
Definition at line 130 of file HPACKDecoder.cpp.
References decodeIndexedHeader(), decodeLiteralHeader(), proxygen::HPACKDecoderBase::handleTableSizeUpdate(), proxygen::HPACK::INDEX_REF, proxygen::HPACK::LITERAL_INC_INDEX, proxygen::HPACKDecodeBuffer::peek(), proxygen::HPACKContext::table_, proxygen::HPACK::TABLE_SIZE_UPDATE, and uint8_t.
Referenced by decodeStreaming(), and HPACKDecoder().
|
private |
Definition at line 101 of file HPACKDecoder.cpp.
References proxygen::HPACKDecodeBuffer::decodeInteger(), proxygen::HPACKDecoderBase::emit(), proxygen::HPACKDecoderBase::err_, proxygen::ERROR, proxygen::HPACKContext::getHeader(), proxygen::HPACK::INDEX_REF, proxygen::HPACK::INVALID_INDEX, isValid(), proxygen::HPACK::NONE, and uint64_t.
Referenced by decodeHeader(), and HPACKDecoder().
|
private |
Definition at line 44 of file HPACKDecoder.cpp.
References proxygen::HeaderTable::add(), proxygen::HPACK::Instruction::code, proxygen::HPACKDecodeBuffer::decodeInteger(), proxygen::HPACKDecodeBuffer::decodeLiteral(), proxygen::HPACKDecoderBase::emit(), proxygen::HPACKDecoderBase::err_, proxygen::ERROR, proxygen::HPACKContext::getHeader(), proxygen::HPACK::INVALID_INDEX, isValid(), proxygen::HPACK::LITERAL, proxygen::HPACK::LITERAL_INC_INDEX, folly::gen::move, proxygen::HPACKHeader::name, proxygen::HPACKDecodeBuffer::next(), proxygen::HPACK::NONE, proxygen::HPACKDecodeBuffer::peek(), proxygen::HPACK::Instruction::prefixLength, proxygen::HPACKContext::table_, uint32_t, uint64_t, uint8_t, and proxygen::HPACKHeader::value.
Referenced by decodeHeader(), and HPACKDecoder().
void proxygen::HPACKDecoder::decodeStreaming | ( | folly::io::Cursor & | cursor, |
uint32_t | totalBytes, | ||
HPACK::StreamingCallback * | streamingCb | ||
) |
given a Cursor and a total amount of bytes we can consume from it, decode headers and invoke a callback.
Definition at line 21 of file HPACKDecoder.cpp.
References proxygen::HPACKDecoderBase::completeDecode(), proxygen::HPACKDecodeBuffer::consumedBytes(), decodeHeader(), proxygen::HPACKDecodeBuffer::empty(), proxygen::HPACKDecoderBase::err_, proxygen::ERROR, proxygen::HPACKDecoderBase::hasError(), proxygen::HPACK::HEADERS_TOO_LARGE, proxygen::HeaderCodec::HPACK, proxygen::HPACKDecoderBase::maxUncompressed_, and uint32_t.
Referenced by proxygen::hpack::decode(), proxygen::HPACKCodec::decodeStreaming(), encodeDecode(), and HPACKDecoder().
|
private |
Definition at line 122 of file HPACKDecoder.cpp.
References proxygen::HPACKContext::getStaticTable(), proxygen::HPACKContext::globalToDynamicIndex(), proxygen::HPACKContext::globalToStaticIndex(), proxygen::HPACKContext::isStatic(), proxygen::HeaderTable::isValid(), and proxygen::HPACKContext::table_.
Referenced by decodeIndexedHeader(), decodeLiteralHeader(), and HPACKDecoder().