Re: Recovery from decompression failure (was: Re: Cost analysis: (was: Getting to Consensus: CONTINUATION-related issues))

On 22 July 2014 17:50, Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> wrote:
> We need to also clarify when first header table size change applies: a)
> reception of SETTINGS (and its ACK) or b) encoding context update.
> My understanding is a). The receiver of SETTINGS processes the setting
> values in the order they appear in a frame and shrinking header table size
> necessary. Then it can send encoding context update only for last seen table
> size value.  This is possible because receiver of SETTINGS ACK also applies
> its pending settings in the same way.  It then validates the received
> encoding context update against last seen value and applies table size
> again.  This is simpler than multiple encodong context update because we
> just renember and validate 1 value instead of 2.


Have a look at the text that I proposed on this
(https://github.com/http2/http2-spec/pull/566).

What you have here isn't 100% correct.  When the size limit changes
multiple names, only two values are relevant:

 - the value that the encoder selects (which cannot be larger than the
decoder-provided size)

 - the lowest value that the decoder advertises

If the latter is smaller than the former, then two encoding context
updates are required.

This is the simplest reduction of the effect of any number of changes.

Received on Wednesday, 23 July 2014 17:12:45 UTC