class HpackDecoder {

  public void decode(
      final int streamId,
      final ByteBuf in,
      final Http2Headers headers,
      final boolean validateHeaders)
      throws Http2Exception {
    final Http2HeadersSink sink =
        new Http2HeadersSink(streamId, headers, maxHeaderListSize, validateHeaders);
    decode(in, sink);

    // Now that we've read all of our headers we can perform the validation steps. We must
    // delay throwing until this point to prevent dynamic table corruption.
    sink.finish();
  }

    HpackDecoder(final long maxHeaderListSize, final int initialHuffmanDecodeCapacity);
    HpackDecoder(
      final long maxHeaderListSize,
      final int initialHuffmanDecodeCapacity,
      final int maxHeaderTableSize);

}