-
Notifications
You must be signed in to change notification settings - Fork 117
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
jumpstart #565
Merged
Merged
jumpstart #565
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…d at least once; having such function can help apps determine when to send a new token
…`addsess_mismatch` field so that apps can provide the token even if address validation fails
…hat they can be used by Careful Resume
…been sent for all the existing streams
…xit_pn` to see if we are in jumpstart
…loss signal arrives 1 rtt later and slow start is 2x per rtt)
kazuho
commented
Nov 6, 2023
…his state if we receive two packets, with the first one closing all streams and the second one doing something else
…an happen when first two packets or more get dropped then the next packet gets acked
…c_jumpstart`), use the exact same formula
… CC makes sure it remains above 2mtu
…y 2x upon first loss (unless hystart++ is used, but we do not have that)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Builds on top of #452, and therefore this PR currently points to #452 as the base branch.
This PR implements Careful Resume WG draft-04 with following differences:
quicly_context_t::default_jumpstart_cwnd_bytes
) is provided to set the CWND to be used when there is no previous information. This is useful for testing, et. al.The PR adds following metrics to
quicly_context_t
:max_jumpstart_cwnd_bytes
- cap for the CWND size used for jumpstart when previous information is available.default_jumpstart_cwnd_bytes
jumpstart CWND to be used when no previous information is available; see above.The PR adds following metrics to
quicly_stats_t
:jumpstart.prev_rate
- delivery rate of the previous sessionjumpstart.prev_rtt
- min RTT of the previous sessionjumpstart.new_rtt
- min RTT of the new sessionjumpstart.cwnd
- jumpstart CWND being adoptedcc.exit_slow_start_at
- contains milliseconds between creation of the connection and exit of slow start; alongside the existing parametercc.cwnd_exiting_slow_start
, this value would help us test the efficiency of jumpstartcc.cwnd_exiting_jumpstart
- this value represents overestimation of the new RTT; if new RTT was overestimated, the value is going to be smaller thanjumpstart.cwnd
, as CWND is adjusted to the amount of bytes being acked previously, when exiting CWND (this is the moment when an the first ack is received for the packets sent in the unvalidated phase).