|
|
|
@ -353,7 +353,7 @@ ngx_quic_congestion_ack(ngx_connection_t *c, ngx_quic_frame_t *f) |
|
|
|
|
now, cg->window, cg->ssthresh, cg->in_flight); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
cg->window += qc->tp.max_udp_payload_size * f->plen / cg->window; |
|
|
|
|
cg->window += (uint64_t) qc->path->mtu * f->plen / cg->window; |
|
|
|
|
|
|
|
|
|
ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, |
|
|
|
|
"quic congestion ack reno t:%M win:%uz if:%uz", |
|
|
|
@ -552,7 +552,7 @@ ngx_quic_persistent_congestion(ngx_connection_t *c) |
|
|
|
|
now = ngx_current_msec; |
|
|
|
|
|
|
|
|
|
cg->recovery_start = now; |
|
|
|
|
cg->window = qc->tp.max_udp_payload_size * 2; |
|
|
|
|
cg->window = qc->path->mtu * 2; |
|
|
|
|
|
|
|
|
|
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, |
|
|
|
|
"quic congestion persistent t:%M win:%uz", now, cg->window); |
|
|
|
@ -698,8 +698,8 @@ ngx_quic_congestion_lost(ngx_connection_t *c, ngx_quic_frame_t *f) |
|
|
|
|
cg->recovery_start = now; |
|
|
|
|
cg->window /= 2; |
|
|
|
|
|
|
|
|
|
if (cg->window < qc->tp.max_udp_payload_size * 2) { |
|
|
|
|
cg->window = qc->tp.max_udp_payload_size * 2; |
|
|
|
|
if (cg->window < qc->path->mtu * 2) { |
|
|
|
|
cg->window = qc->path->mtu * 2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cg->ssthresh = cg->window; |
|
|
|
|