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

Discourage use of flow control #31

Closed
martinthomson opened this issue Feb 19, 2013 · 3 comments
Closed

Discourage use of flow control #31

martinthomson opened this issue Feb 19, 2013 · 3 comments
Assignees

Comments

@martinthomson
Copy link
Collaborator

Rather than specify a flow control algorithm, we should simply discourage its use.

Mark, I think that we resolved this one at the interim. I'd just like to confirm with you before proceeding.

@ghost ghost assigned mnot Feb 19, 2013
@mnot
Copy link
Member

mnot commented Feb 19, 2013

We discussed giving advice about the use of flow control in a separate "implementation advice" document. From my notes:

--------->8---------

Appropriate Use of Flow Control

Flow control is defined to protect deployments (whether it's server, client or intermediary) that are operating under constraints. For example, a proxy must share memory between many connections. Generally, it addresses cases where the receiver cannot process input (for whatever reason), yet wants to be able to process other streams.

A valid strategy is to turn flow control off if you don't need these properties.

Strategies for Flow Control

  1. In most cases, it's recommended to advertise an infinite window.
  2. If you must, you can protect resources (e.g., memory) in your implementation. However, if this is done without knowledge of BDP, this may lead to non-optimal use of bandwidth.
  3. When flow control is used with knowledge of BDP, it can both protect resources and assure utilisation of the connection is unimpeded. Note that this can be difficult to implement.

-----8<-------

Since we don't have a separate document yet, I'm OK with putting this in the spec for the time being; it might be helpful to mark it somehow (even just with a comment in source) that it's potentially splittable to a separate doc.

Flipping to editorial.

@ghost ghost assigned martinthomson Feb 20, 2013
@martinthomson
Copy link
Collaborator Author

We still don't know how to set an infinite window...

@martinthomson
Copy link
Collaborator Author

Problem solved. d8013a3

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

No branches or pull requests

2 participants