- From: Martin Thomson <martin.thomson@gmail.com>
- Date: Mon, 3 Feb 2014 13:06:05 -0800
- To: Mike Bishop <Michael.Bishop@microsoft.com>
- Cc: HTTP Working Group <ietf-http-wg@w3.org>
On 3 February 2014 12:57, Mike Bishop <Michael.Bishop@microsoft.com> wrote: > Your draft has this list of initial dependencies: (A->0, B->A, C->A, D->B, E->C, F->0, G->A). This creates the ordered list-of-buckets (A,F) <- (B,C,G) <- (D,E). That makes sense in terms of building initial priorities. > > What feels unclear is when a new priority is sent -- what happens when the client now sends C->G? > > I see two reasonable approaches, both of which appear in agreement with the text: > - (B,C,G) are a bucket. Because C now depends on G, C moves to the next bucket (of things which depend on the bucket B,G) and the result is (A,F) <- (B,G) <- (D,E,C). > - We've previously stated E->C, and nothing has changed that dependency. The result is (A,F) <- (B,G) <- (D,C) <- (E). > > Neither interpretation is entirely satisfying. The first could require many PRIORITY frames to perform an insert in the list, but the second feels suspiciously like a tree, which you explicitly said it wasn't. Excellent point. I think that the former is more in keeping with the original intent. I will add some text on reprioritization to cover this, including the case where moving C empties the bucket.
Received on Monday, 3 February 2014 21:06:33 UTC