RE: Priority straw man

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.

-----Original Message-----
From: Martin Thomson [mailto:martin.thomson@gmail.com] 
Sent: Monday, February 3, 2014 9:45 AM
To: HTTP Working Group
Subject: Re: Priority straw man

I'm starting to get ready for -10, which I would very much like to push soon.

More feedback would be nice, but absent stronger feedback, I'm going to push the button on this for -10.

p.s., The suggestion for PRIORITY on stream zero requires additional changes and a little more support, so I'll ask for that to be tracked separately.

On 26 January 2014 13:34, Martin Thomson <martin.thomson@gmail.com> wrote:
> As requested, a writeup on prioritization.
>
> As a pull request: https://github.com/http2/http2-spec/pull/364

>
> In HTML form:
> http://martinthomson.github.io/drafts/priority.html#StreamPriority

> http://martinthomson.github.io/drafts/priority.html#PRIORITY

>
> Comments or pull requests happily accepted.

Received on Monday, 3 February 2014 20:58:18 UTC