Skip to content

Commit

Permalink
use jumpstart when the window is larger, rather than comparing the pace
Browse files Browse the repository at this point in the history
  • Loading branch information
kazuho committed Mar 9, 2024
1 parent 8722b5e commit ea50a7a
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions lib/quicly.c
Original file line number Diff line number Diff line change
Expand Up @@ -5029,9 +5029,10 @@ static int do_send(quicly_conn_t *conn, quicly_send_context_t *s)
jumpstart_cwnd = quicly_cc_calc_initial_cwnd(conn->super.ctx->default_jumpstart_cwnd_packets,
conn->super.ctx->transport_params.max_udp_payload_size);
}
/* Jumpstart if the flow rate would be higher. Comparison target is CWND + inflight bytes in 1/2 RTT, as that is the
* amount that can be sent at most, with pacer controlling the send rate. */
if (jumpstart_cwnd >= (conn->egress.cc.cwnd + orig_bytes_inflight) * 2) {
/* Jumpstart if the amount that can be sent in 1 RTT would be higher than without. Comparison target is CWND + inflight,
* as that is the amount that can be sent at most. Note the flow rate can become smaller due to packets paced across
* the entire RTT during jumpstart. */
if (jumpstart_cwnd >= conn->egress.cc.cwnd + orig_bytes_inflight) {
conn->super.stats.jumpstart.cwnd = (uint32_t)jumpstart_cwnd;
conn->egress.cc.type->cc_jumpstart(&conn->egress.cc, jumpstart_cwnd, conn->egress.packet_number);
}
Expand Down

0 comments on commit ea50a7a

Please sign in to comment.