Class HpackDecoder

java.lang.Object
org.eclipse.jetty.http2.hpack.HpackDecoder

public class HpackDecoder extends Object
Hpack Decoder

This is not thread safe and may only be called by 1 thread at a time.

  • Field Details

  • Constructor Details

    • HpackDecoder

      public HpackDecoder(int maxHeaderSize, LongSupplier beginNanoTimeSupplier)
      Parameters:
      maxHeaderSize - The maximum allowed size of a decoded headers block, expressed as total of all name and value bytes, plus 32 bytes per field
      beginNanoTimeSupplier - The supplier of a nano timestamp taken at the time the first byte was read
  • Method Details

    • getHpackContext

      public HpackContext getHpackContext()
    • getMaxTableCapacity

      public int getMaxTableCapacity()
    • setMaxTableCapacity

      public void setMaxTableCapacity(int maxTableCapacity)

      Sets the limit for the capacity of the dynamic header table.

      This value acts as a limit for the values received from the remote peer via the HPACK dynamic table size update instruction.

      After calling this method, a SETTINGS frame must be sent to the other peer, containing the SETTINGS_HEADER_TABLE_SIZE setting with the value passed as argument to this method.

      Parameters:
      maxTableCapacity - the limit for capacity of the dynamic header table
    • setLocalMaxDynamicTableSize

      @Deprecated public void setLocalMaxDynamicTableSize(int maxTableSizeLimit)
      Deprecated.
      Parameters:
      maxTableSizeLimit - the local dynamic table max size
    • getMaxHeaderListSize

      public int getMaxHeaderListSize()
    • setMaxHeaderListSize

      public void setMaxHeaderListSize(int maxHeaderListSize)
    • decode

      Throws:
      HpackException.SessionException
      HpackException.StreamException
    • toISO88591String

      public static String toISO88591String(ByteBuffer buffer, int length)
    • toString

      public String toString()
      Overrides:
      toString in class Object