proxygen
proxygen::QPACKContext Class Reference

#include <QPACKContext.h>

Inheritance diagram for proxygen::QPACKContext:
proxygen::QPACKDecoder proxygen::QPACKEncoder

Public Member Functions

 QPACKContext (uint32_t tableSize, bool trackReferences)
 
 ~QPACKContext ()
 
const HPACKHeadergetHeader (bool isStatic, uint32_t index, uint32_t base, bool aboveBase)
 
const QPACKHeaderTablegetTable () const
 
uint32_t getTableSize () const
 
uint32_t getBytesStored () const
 
uint32_t getHeadersStored () const
 
void seedHeaderTable (std::vector< HPACKHeader > &headers)
 
void describe (std::ostream &os) const
 

Protected Member Functions

const StaticHeaderTablegetStaticTable () const
 

Protected Attributes

QPACKHeaderTable table_
 

Detailed Description

Definition at line 18 of file QPACKContext.h.

Constructor & Destructor Documentation

proxygen::QPACKContext::QPACKContext ( uint32_t  tableSize,
bool  trackReferences 
)

Definition at line 14 of file QPACKContext.cpp.

14  :
15  table_(tableSize, trackReferences) {
16 }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
proxygen::QPACKContext::~QPACKContext ( )
inline

Definition at line 21 of file QPACKContext.h.

References getHeader(), and uint32_t.

21 {}

Member Function Documentation

void proxygen::QPACKContext::describe ( std::ostream &  os) const

Definition at line 39 of file QPACKContext.cpp.

References table_.

Referenced by getHeadersStored(), and proxygen::operator<<().

39  {
40  os << table_;
41 }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
uint32_t proxygen::QPACKContext::getBytesStored ( ) const
inline

Definition at line 37 of file QPACKContext.h.

References proxygen::HeaderTable::bytes(), and table_.

37  {
38  return table_.bytes();
39  }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
uint32_t bytes() const
Definition: HeaderTable.h:112
const HPACKHeader & proxygen::QPACKContext::getHeader ( bool  isStatic,
uint32_t  index,
uint32_t  base,
bool  aboveBase 
)
Returns
header at the given index by composing dynamic and static tables

Definition at line 18 of file QPACKContext.cpp.

References proxygen::HeaderTable::getHeader(), proxygen::QPACKHeaderTable::getHeader(), getStaticTable(), and table_.

Referenced by proxygen::QPACKDecoder::decodeIndexedHeaderQ(), proxygen::QPACKDecoder::decodeLiteralHeaderQ(), TEST(), and ~QPACKContext().

21  {
22  if (isStatic) {
23  return getStaticTable().getHeader(index);
24  }
25  if (aboveBase) {
26  base += index;
27  index = 1;
28  }
29  return table_.getHeader(index, base);
30 }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
const HPACKHeader & getHeader(uint32_t index) const
Definition: HeaderTable.cpp:93
const StaticHeaderTable & getStaticTable() const
Definition: QPACKContext.h:50
const HPACKHeader & getHeader(uint32_t index, uint32_t base=0) const
uint32_t proxygen::QPACKContext::getHeadersStored ( ) const
inline

Definition at line 41 of file QPACKContext.h.

References describe(), seedHeaderTable(), proxygen::HeaderTable::size(), and table_.

Referenced by TEST().

41  {
42  return table_.size();
43  }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
uint32_t size() const
Definition: HeaderTable.h:105
const StaticHeaderTable& proxygen::QPACKContext::getStaticTable ( ) const
inlineprotected
const QPACKHeaderTable& proxygen::QPACKContext::getTable ( ) const
inline

Definition at line 29 of file QPACKContext.h.

References table_.

Referenced by proxygen::hpack::encodeDecode(), and TEST().

29  {
30  return table_;
31  }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
uint32_t proxygen::QPACKContext::getTableSize ( ) const
inline

Definition at line 33 of file QPACKContext.h.

References proxygen::HeaderTable::capacity(), and table_.

33  {
34  return table_.capacity();
35  }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
uint32_t capacity() const
Definition: HeaderTable.h:86
void proxygen::QPACKContext::seedHeaderTable ( std::vector< HPACKHeader > &  headers)

Definition at line 32 of file QPACKContext.cpp.

References proxygen::QPACKHeaderTable::add(), folly::gen::move, and table_.

Referenced by getHeadersStored().

33  {
34  for (auto& header: headers) {
35  table_.add(std::move(header));
36  }
37 }
QPACKHeaderTable table_
Definition: QPACKContext.h:54
constexpr detail::Map< Move > move
Definition: Base-inl.h:2567
bool add(HPACKHeader header) override

Member Data Documentation


The documentation for this class was generated from the following files: