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

Fix Recovery Pseudocode #2907

Merged
merged 25 commits into from Sep 4, 2019
Merged
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
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
16 changes: 9 additions & 7 deletions draft-ietf-quic-recovery.md
Expand Up @@ -583,16 +583,18 @@ data has been received from the client.
Because the server could be blocked until more packets are received, the client
MUST ensure that the retransmission timer is set if the client has not received
an ACK in a Handshake packet or does not yet have 1-RTT keys. If the probe
ianswett marked this conversation as resolved.
Show resolved Hide resolved
timer expires and the client does not have any crypto data to retransmit it
MUST send a packet, containing only PADDING frames if necessary, to allow the
server to continue sending data. If Handshake keys are available to the client,
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 to allow the server to continue sending data. At this stage in the
connection, when few to none RTT samples have been generated, it is possible
that the probe timer expiration is due to an incorrect RTT estimate at the
client. To allow the client to improve its RTT estimate, the new packet that
it sends MUST be ack-eliciting. 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.

Because Initial packets containing only PADDING do not elicit an
acknowledgement, they may never be acknowledged, but they are removed from
bytes in flight when the client gets Handshake keys and the Initial keys are
discarded.
Initial packets and Handshake packets may never be acknowledged, but they are
removed from bytes in flight when the Initial and Handshake keys are discarded.

### Sending Probe Packets

Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.