Re: Priority straw man

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