| // 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]; | 
 |  | 
 |   // The encoding of each symbol, left justified (as printed), which means that | 
 |   // the first bit of the encoding is the high-order bit of the uint32. | 
 |   static const uint32_t kLeftCodes[257]; | 
 | }; | 
 |  | 
 | }  // namespace http2 | 
 |  | 
 | #endif  // QUICHE_HTTP2_HPACK_HUFFMAN_HUFFMAN_SPEC_TABLES_H_ |