proxygen
|
#include <HPACKScheme.h>
Public Member Functions | |
HPACKScheme (CompressionSimulator *sim, uint32_t tableSize) | |
~HPACKScheme () | |
std::unique_ptr< Ack > | getAck (uint16_t) override |
void | recvAck (std::unique_ptr< Ack >) override |
std::pair< FrameFlags, std::unique_ptr< folly::IOBuf > > | encode (bool, std::vector< compress::Header > allHeaders, SimStats &stats) override |
void | decode (FrameFlags flags, std::unique_ptr< folly::IOBuf > encodedReq, SimStats &stats, SimStreamingCallback &callback) override |
uint32_t | getHolBlockCount () const override |
![]() | |
CompressionScheme (CompressionSimulator *sim) | |
virtual | ~CompressionScheme () |
void | runLoopCallback () noexceptoverride |
![]() | |
virtual | ~LoopCallback ()=default |
void | cancelLoopCallback () |
bool | isLoopCallbackScheduled () const |
Public Attributes | |
HPACKCodec | client_ {TransportDirection::UPSTREAM} |
HPACKCodec | server_ {TransportDirection::DOWNSTREAM} |
HPACKQueue | serverQueue_ {server_} |
bool | allowOOO_ {false} |
![]() | |
std::list< BlockInfo > | encodedBlocks |
std::list< BlockInfo > | packetBlocks |
size_t | index {0} |
std::chrono::milliseconds | prev |
size_t | packetBytes {0} |
std::chrono::milliseconds | decodeDelay |
std::list< uint16_t > | packetIndices |
Additional Inherited Members | |
![]() | |
using | BlockInfo = std::tuple< FrameFlags, bool, std::unique_ptr< folly::IOBuf >, SimStreamingCallback * > |
Compression scheme for HPACK with a prepended sequence number
Definition at line 22 of file HPACKScheme.h.
|
inlineexplicit |
Definition at line 24 of file HPACKScheme.h.
References allowOOO_, client_, proxygen::NoPathIndexingStrategy::getInstance(), server_, proxygen::HPACKCodec::setDecoderHeaderTableMaxSize(), proxygen::HeaderCodec::setEncodeHeadroom(), proxygen::HPACKCodec::setEncoderHeaderTableSize(), and proxygen::HPACKCodec::setHeaderIndexingStrategy().
|
inline |
Definition at line 34 of file HPACKScheme.h.
References proxygen::HPACKQueue::getQueuedBytes(), and serverQueue_.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 60 of file HPACKScheme.h.
References proxygen::compress::FrameFlags::allowOOO, proxygen::HPACKQueue::enqueueHeaderBlock(), proxygen::HPACKQueue::getQueuedBytes(), proxygen::compress::SimStats::maxQueueBufferBytes, proxygen::compress::SimStreamingCallback::maybeMarkHolDelay(), folly::gen::move, folly::io::detail::CursorBase< Derived, BufType >::readBE(), proxygen::compress::SimStreamingCallback::requestIndex, proxygen::compress::SimStreamingCallback::seqn, serverQueue_, folly::IOBuf::trimStart(), and uint16_t.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 45 of file HPACKScheme.h.
References allowOOO_, c, client_, wangle::HTTPHeaderSize::compressed, proxygen::compress::SimStats::compressed, proxygen::HPACKCodec::encode(), proxygen::HeaderCodec::getEncodedSize(), proxygen::compress::CompressionScheme::index, folly::gen::move, uint16_t, proxygen::compress::SimStats::uncompressed, and wangle::HTTPHeaderSize::uncompressed.
Implements proxygen::compress::CompressionScheme.
Definition at line 39 of file HPACKScheme.h.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 79 of file HPACKScheme.h.
References proxygen::HPACKQueue::getHolBlockCount(), and serverQueue_.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 42 of file HPACKScheme.h.
bool proxygen::compress::HPACKScheme::allowOOO_ {false} |
Definition at line 86 of file HPACKScheme.h.
Referenced by encode(), and HPACKScheme().
HPACKCodec proxygen::compress::HPACKScheme::client_ {TransportDirection::UPSTREAM} |
Definition at line 83 of file HPACKScheme.h.
Referenced by encode(), and HPACKScheme().
HPACKCodec proxygen::compress::HPACKScheme::server_ {TransportDirection::DOWNSTREAM} |
Definition at line 84 of file HPACKScheme.h.
Referenced by HPACKScheme().
HPACKQueue proxygen::compress::HPACKScheme::serverQueue_ {server_} |
Definition at line 85 of file HPACKScheme.h.
Referenced by decode(), getHolBlockCount(), and ~HPACKScheme().