| // Copyright (c) 2018 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. | |
| #ifndef QUICHE_HTTP2_HPACK_HUFFMAN_HUFFMAN_SPEC_TABLES_H_ | |
| #define QUICHE_HTTP2_HPACK_HUFFMAN_HUFFMAN_SPEC_TABLES_H_ | |
| // Tables describing the Huffman encoding of bytes as specified by RFC7541. | |
| #include <cstdint> | |
| namespace http2 { | |
| struct HuffmanSpecTables { | |
| // Number of bits in the encoding of each symbol (byte). | |
| static const uint8_t kCodeLengths[257]; | |
| // The encoding of each symbol, right justified (as printed), which means that | |
| // the last bit of the encoding is the low-order bit of the uint32. | |
| static const uint32_t kRightCodes[257]; | |
| }; | |
| } // namespace http2 | |
| #endif // QUICHE_HTTP2_HPACK_HUFFMAN_HUFFMAN_SPEC_TABLES_H_ |