File tree Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Original file line number Diff line number Diff line change @@ -641,22 +641,20 @@ static int picoquic_is_packet_probably_lost(picoquic_cnx_t* cnx,
641
641
* is_timer_expired = 1 ;
642
642
}
643
643
}
644
- else {
644
+ else if ( old_p -> send_path -> nb_retransmit == 0 ) {
645
645
/* RACK has failure modes if the sender keeps adding small packets to the
646
- * retransmit queue. In that case, we pick a safe timer based retransmit.
646
+ * retransmit queue. This may push the send time of the "last" packet
647
+ * beyond a reasonable value.
648
+ * In that case, we pick a safe timer based retransmit.
647
649
* The "timer" condition will have consequences on congestion control;
648
- * we only set it if the packet is ack eliciting and if another
649
- * path is plausible.
650
+ * we only set it if the packet is ack eliciting.
650
651
*/
651
652
uint64_t alt_retransmit_timer = old_p -> send_time + 2 * picoquic_current_retransmit_timer (cnx , old_p -> send_path );
652
653
653
654
if (alt_retransmit_timer < last_packet -> send_time ) {
654
655
retransmit_time_timer = alt_retransmit_timer ;
655
-
656
656
if (current_time >= retransmit_time_timer ) {
657
- if (picoquic_is_packet_ack_eliciting (old_p ) &&
658
- (cnx -> is_multipath_enabled || cnx -> is_simple_multipath_enabled ) &&
659
- cnx -> nb_paths > 1 )
657
+ if (picoquic_is_packet_ack_eliciting (old_p ))
660
658
{
661
659
* is_timer_expired = 1 ;
662
660
}
You can’t perform that action at this time.
0 commit comments