16 using std::unique_ptr;
32 LOG(
ERROR) <<
"exceeded uncompressed size limit of " 59 if (byte & indexMask) {
63 LOG(
ERROR) <<
"Decode error decoding index err_=" <<
err_;
68 LOG(
ERROR) <<
"received invalid index: " << index;
78 header.
name = headerName;
80 LOG(
ERROR) <<
"Error decoding header name err_=" <<
err_;
87 LOG(
ERROR) <<
"Error decoding header value name=" << header.
name 92 uint32_t emittedSize =
emit(header, streamingCb, emitted);
108 LOG(
ERROR) <<
"Decode error decoding index err_=" <<
err_;
112 if (index == 0 || !
isValid(index)) {
113 LOG(
ERROR) <<
"received invalid index: " << index;
119 return emit(header, streamingCb, emitted);
uint32_t globalToStaticIndex(uint32_t index) const
const Instruction INDEX_REF
std::vector< HPACKHeader > headers_t
constexpr detail::Map< Move > move
uint32_t decodeHeader(HPACKDecodeBuffer &dbuf, HPACK::StreamingCallback *streamingCb, headers_t *emitted)
void handleTableSizeUpdate(HPACKDecodeBuffer &dbuf, HeaderTable &table)
uint32_t decodeIndexedHeader(HPACKDecodeBuffer &dbuf, HPACK::StreamingCallback *streamingCb, headers_t *emitted)
const Instruction TABLE_SIZE_UPDATE
uint32_t consumedBytes() const
const Instruction LITERAL_INC_INDEX
const HPACKHeader & getHeader(uint32_t index)
uint32_t emit(const HPACKHeader &header, HPACK::StreamingCallback *streamingCb, headers_t *emitted)
const StaticHeaderTable & getStaticTable() const
HPACK::DecodeError decodeLiteral(folly::fbstring &literal)
uint32_t decodeLiteralHeader(HPACKDecodeBuffer &dbuf, HPACK::StreamingCallback *streamingCb, headers_t *emitted)
void decodeStreaming(folly::io::Cursor &cursor, uint32_t totalBytes, HPACK::StreamingCallback *streamingCb)
void completeDecode(HeaderCodec::Type type, HPACK::StreamingCallback *streamingCb, uint32_t compressedSize, uint32_t emittedSize)
bool isStatic(uint32_t index) const
uint64_t maxUncompressed_
HPACK::DecodeError decodeInteger(uint8_t nbit, uint64_t &integer)
const Instruction LITERAL
bool isValid(uint32_t index)
uint32_t globalToDynamicIndex(uint32_t index) const