RE: Large Frames, Continuations, Flow Control, and changing HPACK

On Tuesday,08 July 2014 17:55, wrote:
> I would like to propose that we remove the "reference set" from HPACK.

I would be happy to see HPACK simplified. See Kazu's data [1]. The benefit doesn't seem to warrant the complexity, though I recall Google saying they are going to try to collect some data to the contrary.

From Kazu's e-mail:
> - Naive    -- No compression
> - Naive-H  -- Using Huffman only
> - Static   -- Using static table only
> - Static-H -- Using static table and Huffman
> - Linear   -- Using header table
> - Linear-H -- Using header table and Huffman
> - Diff     -- Using header table and reference set
> - Diff-H   -- Using header table, reference set and Huffman

To be clear, are you proposing "Linear-H"??

> [snip]
> and made requirements on the receipt of the ":" headers impossible to enforce
> requiring possibly complete buffering before basic routing decisions can be made.

I suspect the proxy implementers would agree, but I'll let them speak for themselves.

> Removing the "reference set" would allow interleaving of HEADERS frames from
> different streams. ...

Assuming you are proposing "Linear-H" (see question above)...

I think there is still shared state in the 'header table'. Thus although you can interleave HEADERS frames from different streams, you must decompress them in the same order as received.  Furthermore, compression & decompression must be frame-atomic, otherwise multi-threaded implementations will corrupt the shared state in the header table.  Or, am I missing something here?


This email message is intended only for the use of the named recipient. Information contained in this email message and its attachments may be privileged, confidential and protected from disclosure. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Also please notify the sender by replying to this message and then delete it from your system.

Received on Tuesday, 8 July 2014 17:00:09 UTC