What happened?
RFC 9002: Appendix B.8 OnPacketsLost, Section 7.6
RFC要求基于丢包的时间跨度来检测持久拥塞:
if (InPersistentCongestion(pc_lost)):
// pc_lost包含time_sent > first_rtt_sample的丢包
// 检查这些丢包的时间跨度是否超过persistent congestion duration
xquic使用PTO计数:
if (send_ctl->ctl_pto_count >= XQC_CONSECUTIVE_PTO_THRESH) {
// 基于PTO计数判断
}
RFC Section 7.6.1明确指出: “This design does not use consecutive PTO events to establish persistent congestion.”
xquic代码位置: xqc_send_ctl_in_persistent_congestion() (xqc_send_ctl.c:1434-1446)
ngtcp2参考: rtb_detect_lost_pkt() (ngtcp2_rtb.c:1040-1198) - 基于丢包时间跨度 loss_window >= congestion_period
Steps To Reproduce
Information and Steps to reproduce the behavior.
Relevant log output
What happened?
RFC 9002: Appendix B.8 OnPacketsLost, Section 7.6
RFC要求基于丢包的时间跨度来检测持久拥塞:
if (InPersistentCongestion(pc_lost)):
// pc_lost包含time_sent > first_rtt_sample的丢包
// 检查这些丢包的时间跨度是否超过persistent congestion duration
xquic使用PTO计数:
if (send_ctl->ctl_pto_count >= XQC_CONSECUTIVE_PTO_THRESH) {
// 基于PTO计数判断
}
RFC Section 7.6.1明确指出: “This design does not use consecutive PTO events to establish persistent congestion.”
xquic代码位置: xqc_send_ctl_in_persistent_congestion() (xqc_send_ctl.c:1434-1446)
ngtcp2参考: rtb_detect_lost_pkt() (ngtcp2_rtb.c:1040-1198) - 基于丢包时间跨度 loss_window >= congestion_period
Steps To Reproduce
Information and Steps to reproduce the behavior.
Relevant log output