Module: Protocol::HPACK
- Defined in:
- lib/protocol/hpack/context.rb,
lib/protocol/hpack/error.rb,
lib/protocol/hpack/huffman.rb,
lib/protocol/hpack/version.rb,
lib/protocol/hpack/compressor.rb,
lib/protocol/hpack/decompressor.rb,
lib/protocol/hpack/huffman/machine.rb,
lib/protocol/hpack/huffman/generator.rb
Overview
Implementation of header compression for HTTP 2.0 (HPACK) format adapted to efficiently represent HTTP headers in the context of HTTP 2.0.
Defined Under Namespace
Classes: CompressionError, Compressor, Context, DecompressionError, Decompressor, Error, Huffman
Constant Summary collapse
- NO_INDEX_TYPE =
Header representation as defined by the spec.
{prefix: 4, pattern: 0x00}.freeze
- NEVER_INDEXED_TYPE =
{prefix: 4, pattern: 0x10}.freeze
- CHANGE_TABLE_SIZE_TYPE =
{prefix: 5, pattern: 0x20}.freeze
- INCREMENTAL_TYPE =
{prefix: 6, pattern: 0x40}.freeze
- INDEXED_TYPE =
{prefix: 7, pattern: 0x80}.freeze
- HEADER_REPRESENTATION =
{ indexed: INDEXED_TYPE, incremental: INCREMENTAL_TYPE, no_index: NO_INDEX_TYPE, never_indexed: NEVER_INDEXED_TYPE, change_table_size: CHANGE_TABLE_SIZE_TYPE }
- VERSION =
"1.5.1"- NAIVE =
Predefined options set for Compressor mew.org/~kazu/material/2014-hpack.pdf
{index: :never, huffman: :never}
- LINEAR =
{index: :all, huffman: :never}
- STATIC =
{index: :static, huffman: :never}
- SHORTER =
{index: :all, huffman: :never}
- NAIVE_HUFFMAN =
{index: :never, huffman: :always}
- LINEAR_HUFFMAN =
{index: :all, huffman: :always}
- STATIC_HUFFMAN =
{index: :static, huffman: :always}
- SHORTER_HUFFMAN =
{index: :all, huffman: :shorter}
- MODES =
{ naive: NAIVE, linear: LINEAR, static: STATIC, shorter: SHORTER, naive_huffman: NAIVE_HUFFMAN, linear_huffman: NAIVE_HUFFMAN, static_huffman: NAIVE_HUFFMAN, shorter_huffman: NAIVE_HUFFMAN, }