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

transport: default packet pacer #1000

Merged
merged 9 commits into from
Nov 19, 2021
Merged

Conversation

WesleyRosenblum
Copy link
Contributor

@WesleyRosenblum WesleyRosenblum commented Nov 18, 2021

Issue #, if available: #146

Description of changes: This change introduces a packet pacer to be used by the Cubic congestion controller. This pacer calculates an interval at which bursts of packets should be distributed across an RTT using the congestion window, smoothed RTT, and MTU. Following Linux, the interval is smaller during Slow Start, to account for the higher rate of change of the congestion window during that time.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@WesleyRosenblum WesleyRosenblum marked this pull request as draft November 18, 2021 04:42
@WesleyRosenblum WesleyRosenblum changed the title Default packer pacer Default packet pacer Nov 18, 2021
@dougch
Copy link
Contributor

dougch commented Nov 18, 2021

Benchmark report
No change in performance detected.

@dougch
Copy link
Contributor

dougch commented Nov 18, 2021

Benchmark report
No change in performance detected.

@WesleyRosenblum WesleyRosenblum marked this pull request as ready for review November 18, 2021 23:08
@dougch
Copy link
Contributor

dougch commented Nov 18, 2021

Benchmark report
No change in performance detected.

quic/s2n-quic-core/src/recovery/pacing.rs Outdated Show resolved Hide resolved
quic/s2n-quic-core/src/recovery/pacing.rs Outdated Show resolved Hide resolved
quic/s2n-quic-core/src/recovery/pacing.rs Outdated Show resolved Hide resolved
quic/s2n-quic-core/src/recovery/pacing.rs Outdated Show resolved Hide resolved
@dougch
Copy link
Contributor

dougch commented Nov 19, 2021

Benchmark report
No change in performance detected.

@dougch
Copy link
Contributor

dougch commented Nov 19, 2021

Benchmark report
No change in performance detected.

};
use core::ops::Div;

struct Fraction(u32, u32);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice this is even better than what I was thinking

@WesleyRosenblum WesleyRosenblum merged commit ccd8693 into main Nov 19, 2021
@WesleyRosenblum WesleyRosenblum deleted the WesleyRosenblum/pacing branch November 19, 2021 21:48
@WesleyRosenblum WesleyRosenblum mentioned this pull request Dec 6, 2021
3 tasks
@WesleyRosenblum WesleyRosenblum changed the title Default packet pacer transport: default packet pacer Feb 17, 2022
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

Successfully merging this pull request may close these issues.

None yet

3 participants