Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't arm the handshake timer if there's no data #2590

Merged
merged 19 commits into from Apr 13, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 6 additions & 6 deletions draft-ietf-quic-recovery.md
Expand Up @@ -467,10 +467,11 @@ MUST ensure that the crypto retransmission timer is set if there is
unacknowledged crypto data or if the client does not yet have 1-RTT keys.
If the crypto retransmission timer expires before the client has 1-RTT keys,
it is possible that the client may not have any crypto data to retransmit.
However, the client MUST send a new packet, containing only PING or PADDDING frames if necessary, to allow the server to continue sending
data. If Handshake keys are available to the client, it MUST send a
Handshake packet, and otherwise it MUST send an Initial packet in a UDP
datagram of at least 1200 bytes.
However, the client MUST send a new packet, containing only PING or PADDDING
frames if necessary, to allow the server to continue sending data. If
Handshake keys are available to the client, it MUST send a Handshake packet,
and otherwise it MUST send an Initial packet in a UDP datagram of at least
1200 bytes.

The crypto retransmission timer is not set if the time threshold
{{time-threshold}} loss detection timer is set. When the crypto
Expand Down Expand Up @@ -1158,8 +1159,7 @@ OnLossDetectionTimeout():
DetectLostPackets(pn_space)
// Retransmit crypto data if no packets were lost
// and there is crypto data to retransmit.
else if (crypto packets are in flight &&
crypto data to send):
else if (has unacked crypto data):
// Crypto retransmission timeout.
RetransmitUnackedCryptoData()
crypto_count++
ianswett marked this conversation as resolved.
Show resolved Hide resolved
Expand Down