public void setMaxHeaderTableSize ( long maxHeaderTableSize ) throws Http2Exception { if ( maxHeaderTableSize < MIN_HEADER_TABLE_SIZE || maxHeaderTableSize > MAX_HEADER_TABLE_SIZE ) { throw connectionError ( PROTOCOL_ERROR , "Header Table Size must be >= %d and <= %d but was %d" , MIN_HEADER_TABLE_SIZE , MAX_HEADER_TABLE_SIZE , maxHeaderTableSize ) ; } maxDynamicTableSize = maxHeaderTableSize ; if ( maxDynamicTableSize < encoderMaxDynamicTableSize ) { // decoder requires less space than encoder // encoder MUST signal this change maxDynamicTableSizeChangeRequired = true ; hpackDynamicTable . setCapacity ( maxDynamicTableSize ) ; } }
Set the maximum table size . If this is below the maximum size of the dynamic table used by the encoder the beginning of the next header block MUST signal this change .