proxygen
|
#include <CompressionScheme.h>
Classes | |
struct | Ack |
Public Types | |
using | BlockInfo = std::tuple< FrameFlags, bool, std::unique_ptr< folly::IOBuf >, SimStreamingCallback * > |
Public Member Functions | |
CompressionScheme (CompressionSimulator *sim) | |
virtual | ~CompressionScheme () |
virtual std::unique_ptr< Ack > | getAck (uint16_t seqn)=0 |
virtual void | recvAck (std::unique_ptr< Ack >)=0 |
virtual std::pair< FrameFlags, std::unique_ptr< folly::IOBuf > > | encode (bool newPacket, std::vector< compress::Header > allHeaders, SimStats &stats)=0 |
virtual void | decode (FrameFlags flags, std::unique_ptr< folly::IOBuf > encodedReq, SimStats &stats, SimStreamingCallback &cb)=0 |
virtual uint32_t | getHolBlockCount () const =0 |
void | runLoopCallback () noexceptoverride |
Public Member Functions inherited from folly::EventBase::LoopCallback | |
virtual | ~LoopCallback ()=default |
void | cancelLoopCallback () |
bool | isLoopCallbackScheduled () const |
Public Attributes | |
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 |
Private Attributes | |
CompressionSimulator * | simulator_ |
Definition at line 20 of file CompressionScheme.h.
using proxygen::compress::CompressionScheme::BlockInfo = std::tuple<FrameFlags, bool , std::unique_ptr<folly::IOBuf>, SimStreamingCallback*> |
Definition at line 67 of file CompressionScheme.h.
|
inlineexplicit |
Definition at line 22 of file CompressionScheme.h.
|
inlinevirtual |
Definition at line 24 of file CompressionScheme.h.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in proxygen::compress::QMINScheme, proxygen::compress::QPACKScheme, and proxygen::compress::HPACKScheme.
Referenced by proxygen::compress::CompressionScheme::Ack::~Ack().
|
pure virtual |
Implemented in proxygen::compress::QMINScheme, proxygen::compress::QPACKScheme, and proxygen::compress::HPACKScheme.
Referenced by proxygen::compress::CompressionScheme::Ack::~Ack().
|
pure virtual |
|
overridevirtualnoexcept |
Implements folly::EventBase::LoopCallback.
Reimplemented in proxygen::compress::QMINScheme.
Definition at line 180 of file CompressionSimulator.cpp.
Referenced by proxygen::compress::CompressionScheme::Ack::~Ack().
std::chrono::milliseconds proxygen::compress::CompressionScheme::decodeDelay |
Definition at line 79 of file CompressionScheme.h.
Referenced by proxygen::compress::CompressionSimulator::flushPacket(), and proxygen::compress::CompressionSimulator::flushSchemePackets().
std::list<BlockInfo> proxygen::compress::CompressionScheme::encodedBlocks |
Definition at line 68 of file CompressionScheme.h.
Referenced by proxygen::compress::CompressionSimulator::flushSchemePackets().
size_t proxygen::compress::CompressionScheme::index {0} |
Definition at line 73 of file CompressionScheme.h.
Referenced by proxygen::compress::HPACKScheme::encode(), and proxygen::compress::QPACKScheme::encode().
std::list<BlockInfo> proxygen::compress::CompressionScheme::packetBlocks |
Definition at line 70 of file CompressionScheme.h.
Referenced by proxygen::compress::CompressionSimulator::flushPacket(), and proxygen::compress::CompressionSimulator::flushSchemePackets().
size_t proxygen::compress::CompressionScheme::packetBytes {0} |
Definition at line 78 of file CompressionScheme.h.
Referenced by proxygen::compress::CompressionSimulator::flushPacket(), and proxygen::compress::CompressionSimulator::flushSchemePackets().
std::list<uint16_t> proxygen::compress::CompressionScheme::packetIndices |
Definition at line 81 of file CompressionScheme.h.
Referenced by proxygen::compress::CompressionSimulator::flushRequests().
std::chrono::milliseconds proxygen::compress::CompressionScheme::prev |
Definition at line 76 of file CompressionScheme.h.
Referenced by proxygen::compress::CompressionSimulator::flushRequests().
|
private |
Definition at line 84 of file CompressionScheme.h.