Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about prioritization state management #758

Closed
laike9m opened this issue Nov 30, 2016 · 7 comments
Closed

Question about prioritization state management #758

laike9m opened this issue Nov 30, 2016 · 7 comments

Comments

@laike9m
Copy link

laike9m commented Nov 30, 2016

I found the example in 5.3.4 Prioritization State Management very confusing.

In the previous paragraph, it says

Resources are shared between streams with the same parent stream, which means that if a stream in that set closes or becomes blocked, any spare capacity allocated to a stream is distributed to the immediate neighbors of the stream.

And in the following example:

Prior to the removal of stream A, if streams A and D are unable to proceed, then stream C receives all the resources dedicated to stream A.

It seems to me a bit contradictory, since A and B are neighbors with the same parent stream, then why doesn’t B share resources dedicated to A?

I know this question may seem dumb, but I do hope to get answers from the experts. Thank you.

@laike9m
Copy link
Author

laike9m commented Nov 30, 2016

Yesterday I sent an email to ietf-http-wg-request@w3.org asking the same question, but got a reply saying:

*** NOTE: ***

Your message was sent from an address which is not on the list
of people who are authorized to post to this mailing list.
Therefore, your message has been forwarded to the list maintainer
for manual processing.

If you do not see your message appear on the list or in the
mailing list archives within a few business days, you may wish
to contact the mailing list maintainer to investigate the delay.

-- W3C Postmaster
   http://www.w3.org/Mail/

So I guess people can't really asking questions that way.

@martinthomson
Copy link
Collaborator

The mailing list is ietf-http-wg@w3.org and you can subscribe to that list using the links here: https://lists.w3.org/Archives/Public/ietf-http-wg/ Subscribing will let you send (and receive) email.

The answer is that A and B do share resources, but they share the resources of their parent. In the example, this node is not named, it might be the root of the tree.

You might be right about the example being confusing. If A is blocked, then its dependents (C and D) should not proceed. However, if A is complete, then C and D should receive any resources that would have been allocated to A. This probably needs an erratum.

@laike9m
Copy link
Author

laike9m commented Nov 30, 2016

Thx Martin. Here's my understanding, correct me if I'm wrong:
There are two cases:

  1. If A is blocked/closed but not removed from the tree, then B gets all resources that A owns.
  2. If A is removed from the dependency tree, then B, C, D share the resources, each get 1/3.

@martinthomson
Copy link
Collaborator

martinthomson commented Nov 30, 2016

Three cases:

  1. If A is blocked, then B gets all resources that A owns.
  2. If A is closed but not removed from the tree, C and D gets A's share (1/4 each, assuming equal weights).
  3. If A is removed from the dependency tree, then B, C, D share the resources, each get 1/3 (assuming equal weighting for each).

The example talks about 2, but neglects to mention 1.

@laike9m
Copy link
Author

laike9m commented Nov 30, 2016

case 2, Is it "removed" or "not removed"?

@martinthomson
Copy link
Collaborator

Oops, I meant not removed. Edited.

@laike9m
Copy link
Author

laike9m commented Nov 30, 2016

Thx for this detailed explanation 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants