Refresh pending retransmit timer when timestamp RTT changes
This commit is contained in:
1 parent
83734c920d
commit
90dff0b2f2
2 files changed
+3
-1
No files matched your search
@@ -59,7 +59,8 @@ HELLO/CHALLENGE/CONFIRM и keepalive передаются своим незав
|
||||
попытки доживали до ACK и DATA-измерения продолжались; BBR RTT/min_rtt по этому сигналу не обновляются.
|
||||
Без обоих измерений RTO=1с.
|
||||
- FIFO содержит физические попытки в порядке принятия транспортом. Таймер назначается по старейшей;
|
||||
при изменении RTO проверяется новый срок. Допускается оставить уже запланированную более раннюю проверку.
|
||||
при изменении RTO проверяется новый срок. Timestamp handler пересчитывает таймер сразу после обновления RTT,
|
||||
включая сокращение без новых DATA/ACK. Допускается оставить уже запланированную более раннюю проверку.
|
||||
uasync округляет задержку вверх до миллисекунды; callback может выполниться позже расчётного срока.
|
||||
- Истечение снимает только собственный физический flight и сообщает loss собственному BBR.
|
||||
Если логический seq ещё не доставлен и других активных копий нет, он возвращается в input_send_q.
|
||||
|
||||
@@ -1473,6 +1473,7 @@ void etcp_conn_input(struct ETCP_DGRAM* pkt) {
|
||||
etcp->last_rtt_cb_time = now_tb;
|
||||
}
|
||||
}
|
||||
if (new_rtt != prev_rtt) etcp_tx_update_rto(pkt->link);
|
||||
break;
|
||||
}
|
||||
case ETCP_SECTION_PAYLOAD: {
|
||||
|
||||
Reference in new issue
Block a user