proxygen
|
#include <HPACKCodec.h>
Public Member Functions | |
HPACKCodec (TransportDirection direction) | |
~HPACKCodec () override | |
std::unique_ptr< folly::IOBuf > | encode (std::vector< compress::Header > &headers) noexcept |
void | decodeStreaming (folly::io::Cursor &cursor, uint32_t length, HPACK::StreamingCallback *streamingCb) noexcept |
void | setEncoderHeaderTableSize (uint32_t size) |
void | setDecoderHeaderTableMaxSize (uint32_t size) |
void | describe (std::ostream &os) const |
void | setMaxUncompressed (uint64_t maxUncompressed) override |
HPACKTableInfo | getHPACKTableInfo () const |
void | setHeaderIndexingStrategy (const HeaderIndexingStrategy *indexingStrat) |
const HeaderIndexingStrategy * | getHeaderIndexingStrategy () const |
Public Member Functions inherited from proxygen::HeaderCodec | |
HeaderCodec () | |
virtual | ~HeaderCodec () |
const HTTPHeaderSize & | getEncodedSize () |
void | setEncodeHeadroom (uint32_t headroom) |
uint64_t | getMaxUncompressed () const |
void | setStats (Stats *stats) |
Protected Attributes | |
HPACKEncoder | encoder_ |
HPACKDecoder | decoder_ |
Protected Attributes inherited from proxygen::HeaderCodec | |
HTTPHeaderSize | encodedSize_ |
uint32_t | encodeHeadroom_ {0} |
uint64_t | maxUncompressed_ {kMaxUncompressed} |
Stats * | stats_ {nullptr} |
Private Member Functions | |
void | recordCompressedSize (const folly::IOBuf *buf) |
Private Attributes | |
std::vector< HPACKHeader > | decodedHeaders_ |
Additional Inherited Members | |
Public Types inherited from proxygen::HeaderCodec | |
enum | Type : uint8_t { Type::GZIP = 0, Type::HPACK = 1, Type::QPACK = 2 } |
Static Public Attributes inherited from proxygen::HeaderCodec | |
static const uint32_t | kMaxUncompressed = 128 * 1024 |
Definition at line 41 of file HPACKCodec.h.
|
explicit |
Definition at line 44 of file HPACKCodec.cpp.
|
inlineoverride |
Definition at line 44 of file HPACKCodec.h.
References encode(), folly::pushmi::__adl::noexcept(), and uint32_t.
|
noexcept |
Definition at line 67 of file HPACKCodec.cpp.
References decoder_, proxygen::HPACKDecoder::decodeStreaming(), and proxygen::HeaderCodec::stats_.
Referenced by proxygen::HPACKQueue::decodeBlock(), isLowercase(), and proxygen::HTTP2Codec::parseHeadersDecodeFrames().
void proxygen::HPACKCodec::describe | ( | std::ostream & | os | ) | const |
Definition at line 75 of file HPACKCodec.cpp.
References decoder_, and encoder_.
Referenced by proxygen::operator<<().
|
noexcept |
Definition at line 48 of file HPACKCodec.cpp.
References proxygen::HPACKEncoder::encode(), proxygen::HeaderCodec::encodedSize_, proxygen::HeaderCodec::encodeHeadroom_, encoder_, proxygen::compress::prepareHeaders(), recordCompressedSize(), and wangle::HTTPHeaderSize::uncompressed.
Referenced by proxygen::compress::HPACKScheme::encode(), proxygen::HTTP2Codec::encodeHeaders(), isLowercase(), and TEST_F().
|
inline |
Definition at line 81 of file HPACKCodec.h.
Referenced by proxygen::HTTP2Codec::getHeaderIndexingStrategy().
|
inline |
Definition at line 69 of file HPACKCodec.h.
Referenced by proxygen::HTTP2Codec::getHPACKTableInfo().
|
private |
Definition at line 56 of file HPACKCodec.cpp.
References wangle::HTTPHeaderSize::compressed, folly::IOBuf::computeChainDataLength(), proxygen::HeaderCodec::encodedSize_, proxygen::HeaderCodec::HPACK, proxygen::HeaderCodec::Stats::recordEncode(), and proxygen::HeaderCodec::stats_.
Referenced by encode().
|
inline |
Definition at line 58 of file HPACKCodec.h.
Referenced by proxygen::HTTP2Codec::generateSettings(), proxygen::compress::HPACKScheme::HPACKScheme(), and proxygen::HTTP2Codec::HTTP2Codec().
|
inline |
Definition at line 54 of file HPACKCodec.h.
Referenced by proxygen::HTTP2Codec::handleSettings(), and proxygen::compress::HPACKScheme::HPACKScheme().
|
inline |
Definition at line 78 of file HPACKCodec.h.
Referenced by proxygen::compress::HPACKScheme::HPACKScheme(), and proxygen::HTTP2Codec::setHeaderIndexingStrategy().
|
inlineoverridevirtual |
Reimplemented from proxygen::HeaderCodec.
Definition at line 64 of file HPACKCodec.h.
Referenced by proxygen::HTTP2Codec::generateSettings(), and proxygen::HTTP2Codec::HTTP2Codec().
|
private |
Definition at line 92 of file HPACKCodec.h.
|
protected |
Definition at line 87 of file HPACKCodec.h.
Referenced by decodeStreaming(), and describe().
|
protected |
Definition at line 86 of file HPACKCodec.h.
Referenced by describe(), and encode().