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

Only send ACKs when they've changed #1245

Merged
merged 2 commits into from Nov 20, 2021
Merged

Only send ACKs when they've changed #1245

merged 2 commits into from Nov 20, 2021

Conversation

Ralith
Copy link
Collaborator

@Ralith Ralith commented Nov 20, 2021

Saves a great deal of redundancy when transmitting bulk data, and gives the receiver less work to do. If an ACK is lost, we'll necessarily retransmit it, because packets are only deemed lost when an ACK is received from the peer which does not cover them.

Reduces the number of ACKs sent by the server in the bulk download benchmark from e.g. 930818 to 4228.

Saves a great deal of redundancy when transmitting bulk data, and
gives the receiver less work to do. If an ACK is lost, we'll
necessarily retransmit it, because packets are only deemed lost when
an ACK is received from the peer which does not cover them.
@@ -2227,15 +2228,8 @@ impl Connection {
self.stats.frame_rx.record(&frame);

let _guard = span.as_ref().map(|x| x.enter());
// Check for ack-eliciting frames
Copy link
Collaborator

Choose a reason for hiding this comment

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

This group of changes could technically be a commit on its own, right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Isn't it?

@Ralith Ralith merged commit 4b0daad into main Nov 20, 2021
@Ralith Ralith deleted the ack-less branch November 20, 2021 23:12
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

2 participants