// Copyright 2014 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/hpack_constants.h" #include <vector> #include "absl/base/macros.h" #include "quiche/http2/hpack/hpack_static_table.h" #include "quiche/common/platform/api/quiche_logging.h" namespace spdy { // Produced by applying the python program [1] with tables provided by [2] // (inserted into the source of the python program) and copy-paste them into // this file. // // [1] net/tools/build_hpack_constants.py in Chromium // [2] http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-08 // HpackHuffmanSymbol entries are initialized as {code, length, id}. // Codes are specified in the |length| most-significant bits of |code|. const std::vector<HpackHuffmanSymbol>& HpackHuffmanCodeVector() { … } // The "constructor" for a HpackStaticEntry that computes the lengths at // compile time. #define STATIC_ENTRY … const std::vector<HpackStaticEntry>& HpackStaticTableVector() { … } #undef STATIC_ENTRY const HpackStaticTable& ObtainHpackStaticTable() { … } } // namespace spdy