// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "quiche/http2/hpack/decoder/hpack_entry_type_decoder.h" #include <ios> #include <ostream> #include <string> #include "absl/strings/str_cat.h" #include "quiche/common/platform/api/quiche_bug_tracker.h" #include "quiche/common/platform/api/quiche_flag_utils.h" #include "quiche/common/platform/api/quiche_logging.h" namespace http2 { std::string HpackEntryTypeDecoder::DebugString() const { … } std::ostream& operator<<(std::ostream& out, const HpackEntryTypeDecoder& v) { … } // This ridiculous looking function turned out to be the winner in benchmarking // of several very different alternative implementations. It would be even // faster (~7%) if inlined in the header file, but I'm not sure if that is // worth doing... yet. // TODO(jamessynge): Benchmark again at a higher level (e.g. at least at the // full HTTP/2 decoder level, but preferably still higher) to determine if the // alternatives that take less code/data space are preferable in that situation. DecodeStatus HpackEntryTypeDecoder::Start(DecodeBuffer* db) { … } } // namespace http2