#include "quiche/quic/core/qpack/qpack_progressive_decoder.h"
#include <algorithm>
#include <limits>
#include <memory>
#include <string>
#include <utility>
#include "absl/strings/string_view.h"
#include "quiche/quic/core/qpack/qpack_index_conversions.h"
#include "quiche/quic/core/qpack/qpack_instructions.h"
#include "quiche/quic/core/qpack/qpack_required_insert_count.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.h"
namespace quic {
namespace {
constexpr bool kValueFromStaticTable = …;
}
QpackProgressiveDecoder::QpackProgressiveDecoder(
QuicStreamId stream_id, BlockedStreamLimitEnforcer* enforcer,
DecodingCompletedVisitor* visitor, QpackDecoderHeaderTable* header_table,
HeadersHandlerInterface* handler)
: … { … }
QpackProgressiveDecoder::~QpackProgressiveDecoder() { … }
void QpackProgressiveDecoder::Decode(absl::string_view data) { … }
void QpackProgressiveDecoder::EndHeaderBlock() { … }
bool QpackProgressiveDecoder::OnInstructionDecoded(
const QpackInstruction* instruction) { … }
void QpackProgressiveDecoder::OnInstructionDecodingError(
QpackInstructionDecoder::ErrorCode ,
absl::string_view error_message) { … }
void QpackProgressiveDecoder::OnInsertCountReachedThreshold() { … }
void QpackProgressiveDecoder::Cancel() { … }
bool QpackProgressiveDecoder::DoIndexedHeaderFieldInstruction() { … }
bool QpackProgressiveDecoder::DoIndexedHeaderFieldPostBaseInstruction() { … }
bool QpackProgressiveDecoder::DoLiteralHeaderFieldNameReferenceInstruction() { … }
bool QpackProgressiveDecoder::DoLiteralHeaderFieldPostBaseInstruction() { … }
bool QpackProgressiveDecoder::DoLiteralHeaderFieldInstruction() { … }
bool QpackProgressiveDecoder::DoPrefixInstruction() { … }
bool QpackProgressiveDecoder::OnHeaderDecoded(bool ,
absl::string_view name,
absl::string_view value) { … }
void QpackProgressiveDecoder::FinishDecoding() { … }
void QpackProgressiveDecoder::OnError(QuicErrorCode error_code,
absl::string_view error_message) { … }
bool QpackProgressiveDecoder::DeltaBaseToBase(bool sign, uint64_t delta_base,
uint64_t* base) { … }
}