Closed tatsuhiro-t closed 5 years ago
If the handshake cannot make progress here, perhaps it is better to give up?
It could, but why not reclaim data credit by making CRYPTO data lost?
I think the CRYPTO retransmissions are intended to be analogous to PTOs. For PTOs, we only declare any packet lost when we receive an acknowledgement. If that's indeed the intention here, we would also need to treat CRYPTO retransmissions as probe packets, which are not blocked by the congestion controller.
Marten is correct. It's on my TODO list to try to merge these mechanisms(redo of #2655), but it takes very careful thought and that PR quickly became conflict-heavy.
As discussed on #2984, this is fixed in the editor's copy.
So timer expiration does not remove in-flight unacknowleged CRYPTO data from bytes_in_flight. This means if ACK continues to be lost for Handshake packet, endpoint has no cwnd left to send any packet. loss time based detection does not kick in because no ACK is received.