proxygen
|
#include <QMINScheme.h>
Classes | |
struct | QMINAck |
Public Member Functions | |
QMINScheme (CompressionSimulator *sim, uint32_t) | |
~QMINScheme () | |
std::unique_ptr< Ack > | getAck (uint16_t) override |
void | recvAck (std::unique_ptr< Ack > generic_ack) override |
std::pair< FrameFlags, std::unique_ptr< folly::IOBuf > > | encode (bool, std::vector< compress::Header > allHeaders, SimStats &stats) override |
void | decode (FrameFlags, std::unique_ptr< folly::IOBuf > encodedReq, SimStats &, SimStreamingCallback &callback) override |
uint32_t | getHolBlockCount () const override |
void | runLoopCallback () noexceptoverride |
void | write_ctl_msg (const void *buf, size_t sz, unsigned idx) |
Public Member Functions inherited from proxygen::compress::CompressionScheme | |
CompressionScheme (CompressionSimulator *sim) | |
virtual | ~CompressionScheme () |
Public Member Functions inherited from folly::EventBase::LoopCallback | |
virtual | ~LoopCallback ()=default |
void | cancelLoopCallback () |
bool | isLoopCallbackScheduled () const |
Static Public Member Functions | |
static struct stream_chunk * | stream_chunk_new (size_t off, const void *buf, size_t bufsz) |
static void | insert_chunk (struct stream *stream, struct stream_chunk *new_chunk) |
static struct stream_chunk * | maybe_pop_chunk (struct stream *stream) |
static void | write_enc2dec (void *ctx, const void *buf, size_t sz) |
static void | write_dec2enc (void *ctx, const void *buf, size_t sz) |
Public Attributes | |
char * | qms_idstr |
struct qmin_enc * | qms_enc |
struct qmin_dec * | qms_dec |
unsigned | qms_next_stream_id_to_encode |
struct stream * | qms_streams |
struct { | |
struct qmin_ctl_out out | |
size_t write_off | |
size_t sz | |
unsigned char buf [0x1000] | |
} | qms_ctl [2] |
Public Attributes inherited from proxygen::compress::CompressionScheme | |
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 | |
Public Types inherited from proxygen::compress::CompressionScheme | |
using | BlockInfo = std::tuple< FrameFlags, bool, std::unique_ptr< folly::IOBuf >, SimStreamingCallback * > |
Definition at line 124 of file QMINScheme.h.
|
inlineexplicit |
Definition at line 159 of file QMINScheme.h.
References qmin_dec_new(), qmin_enc_new(), QSIDE_CLIENT, QSIDE_SERVER, s_seq, and stream::sm_chunks.
|
inline |
Definition at line 182 of file QMINScheme.h.
References bm::free(), qmin_dec_destroy(), and qmin_enc_destroy().
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 338 of file QMINScheme.h.
References wangle::HTTPHeaderSize::compressed, folly::IOBuf::computeChainDataLength(), folly::test::end(), bm::free(), name, proxygen::compress::SimStreamingCallback::onHeader(), proxygen::compress::SimStreamingCallback::onHeadersComplete(), qmin_dec_cmds_in(), qmin_dec_decode(), qmin_dec_stream_done(), stream_chunk::sc_buf, stream_chunk::sc_sz, string, folly::IOBuf::trimStart(), uint32_t, wangle::HTTPHeaderSize::uncompressed, and value.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 243 of file QMINScheme.h.
References proxygen::compress::FrameFlags::allowOOO, proxygen::compress::SimStats::compressed, folly::IOBuf::copyBuffer(), bm::free(), name, QES_ERR, QES_NOBUFS, QES_OK, QIT_YES, qmin_enc_encode(), qmin_enc_end_stream_headers(), qmin_enc_to_str(), string, folly::pushmi::operators::transform, uint32_t, and proxygen::compress::SimStats::uncompressed.
Implements proxygen::compress::CompressionScheme.
Definition at line 204 of file QMINScheme.h.
References folly::gen::move.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 418 of file QMINScheme.h.
|
inlinestatic |
Definition at line 138 of file QMINScheme.h.
References stream_chunk::sc_off, and stream::sm_chunks.
|
inlinestatic |
Definition at line 149 of file QMINScheme.h.
References stream_chunk::sc_off, stream_chunk::sc_sz, stream::sm_chunks, and stream::sm_read_off.
|
inlineoverridevirtual |
Implements proxygen::compress::CompressionScheme.
Definition at line 219 of file QMINScheme.h.
References bm::free(), qmin_enc_cmds_in(), stream_chunk::sc_buf, and stream_chunk::sc_sz.
|
inlineoverridevirtualnoexcept |
Reimplemented from proxygen::compress::CompressionScheme.
Definition at line 422 of file QMINScheme.h.
|
inlinestatic |
Definition at line 126 of file QMINScheme.h.
References stream_chunk::sc_buf, stream_chunk::sc_off, and stream_chunk::sc_sz.
|
inline |
Definition at line 426 of file QMINScheme.h.
Referenced by write_dec2enc(), and write_enc2dec().
|
inlinestatic |
Definition at line 444 of file QMINScheme.h.
References write_ctl_msg().
|
inlinestatic |
Definition at line 439 of file QMINScheme.h.
References write_ctl_msg().
unsigned char proxygen::compress::QMINScheme::buf[0x1000] |
Definition at line 466 of file QMINScheme.h.
struct qmin_ctl_out proxygen::compress::QMINScheme::out |
Definition at line 463 of file QMINScheme.h.
struct { ... } proxygen::compress::QMINScheme::qms_ctl[2] |
struct qmin_dec* proxygen::compress::QMINScheme::qms_dec |
Definition at line 452 of file QMINScheme.h.
struct qmin_enc* proxygen::compress::QMINScheme::qms_enc |
Definition at line 451 of file QMINScheme.h.
char* proxygen::compress::QMINScheme::qms_idstr |
Definition at line 449 of file QMINScheme.h.
unsigned proxygen::compress::QMINScheme::qms_next_stream_id_to_encode |
Definition at line 457 of file QMINScheme.h.
struct stream* proxygen::compress::QMINScheme::qms_streams |
Definition at line 460 of file QMINScheme.h.
size_t proxygen::compress::QMINScheme::sz |
Definition at line 465 of file QMINScheme.h.
size_t proxygen::compress::QMINScheme::write_off |
Definition at line 464 of file QMINScheme.h.